Python 中的舍入是如何工作的?

2024-03-17

我对 Python 中舍入的工作原理有点困惑。
有人能解释一下为什么Python会这样吗?

Example:

>>> round(0.05,1) # this makes sense
0.1
>>> round(0.15,1) # this doesn't make sense! Why is the result not 0.2?
0.1

同样适用于:

>>> round(0.25,1) # this makes sense
0.3
>>> round(0.35,1) # in my opinion, should be 0.4 but evaluates to 0.3
0.3

Edit:所以一般来说,Python有可能是向下舍入而不是向上舍入。那么我是否可以理解,唯一可能发生的“异常”事情是Python向下舍入?或者它也可能由于存储方式而“异常”四舍五入? (我还没有发现Python在我期望它向下取整时向上取整的情况)


这实际上是设计使然。来自Python文档 https://docs.python.org/2/library/functions.html#round:

的行为round()对于浮点数可能会令人惊讶:例如,round(2.675, 2)给出 2.67 而不是预期的 2.68。这不是一个错误:这是因为大多数小数不能精确地表示为浮点数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的舍入是如何工作的? 的相关文章

随机推荐

  • 向 f.submit 添加一个类但保留默认功能?

    非常简单的问题 我有 我要申请class btn 到它 我知道我可以轻松地做到这一点 但是 我如何实现同样的事情 即应用一个类而不指定按钮的静态名称 换句话说 鉴于我在部分表单中执行此操作 我希望按钮的名称根据所调用的操作 即新建 创建 更
  • Java 8 BufferedReaderlines()方法打印不同的计数

    我遇到了使用lines 方法计算行号的问题BufferedReader 以下是内容test txt file 1 Career 2 Filmography 3 Awards 4 References 5 External 这是计算行数两次的
  • Discord.py 检查用户是否对特定表情符号做出反应

    我想知道是否有办法检查某人是否有反应specific使用 Discord py 的表情符号 下面的命令将回复一条消息 然后等待 smile or custom emoji 对该消息的反应 from discord utils import
  • GraphQL 解析器参数的顺序错误(根、参数、上下文)

    我想知道为什么我的参数似乎在我的 GraphQL 解析器中发生了变化 我正在使用express graphql 一个解析器的示例 getLocalDrivers async parent args ctx gt console log ct
  • 访问 Kubernetes clusterIP 服务请求超时

    我正在寻求帮助来解决这个无法正常工作的基本场景 安装了三个节点kubeadm on VirtualBox 虚拟机在 MacBook 上运行 sudo kubectl get nodes NAME STATUS ROLES AGE VERSI
  • 地理编码器 grpc 失败

    上个月 地理编码器每次都开始失败 出现 grpc failed 错误 我似乎无法解决它 我看过java io IOException grpc 失败 https stackoverflow com questions 45012289 ja
  • 是否可以在设置应用程序中动态更改 iPhone 应用程序的设置页面?

    对于我正在开发的 iPhone 应用程序 我希望能够动态添加或删除应用程序设置区域的部分 理想情况下 我希望能够更改多值说明符中的选项列表 并添加可深入到一个设置页面的副本的新行 我没有在苹果文档中看到任何关于此的内容 但是编译后是否可以更
  • CSS3 - 添加类来触发动画并在完成时删除类

    我有一个 div 当我单击它时 jquery 会添加一个启动动画运行的类 当动画停止时 3 秒后 我希望删除该类 以便再次单击 div 时动画将重新开始 这只是测试 目前仅限 Chrome 浏览器 这是我的 CSS3 spin360 web
  • DataGrid 是 UWP 的替代品吗?

    我正在开发一个 UWP 应用程序 该应用程序应该在 PC 和平板电脑上使用 并在稍后的手机上使用精简版 在 PC 上 我想在两列中提供数据 在移动设备上 我打算隐藏其中一列 或者我将创建一个不同的页面 具体取决于用户的操作 我需要的功能是
  • 如何在打字稿中执行 document.getElementById().value 之类的操作?

    我有一些代码 其中包含一个反应表单 其中包含类似以下内容
  • mysql 5.7在中型sql中比mysql 5.6慢很多

    我们正在升级到 mysql 5 7 只是发现它比 5 6 版本慢得多 虽然两者具有几乎相同的配置 但 5 6 版本以毫秒为单位执行大部分 sql 而另一个版本则需要大约 1 秒或更长的时间来执行中等复杂的 sql 例如下面的 SQL Get
  • flask_sqlalchemy create_all 无需导入模型

    我想了解如何设置一个独立的脚本来调用create all无需将我的所有模型导入其中 以下是相关文件 db py from flask sqlalchemy import SQLAlchemy db SQLAlchemy test model
  • 获取 mysqldump 转储适合 psql 输入的数据(转义单引号)

    我正在尝试将数据库从 MySQL 移植到 PostgreSQL 我已经在 Postgres 中重建了架构 所以我需要做的就是获取数据 而不需要重新创建表 我可以使用迭代所有记录并一次插入一条记录的代码来完成此操作 但我尝试了这一点 但对于我
  • 默认使用哪个 Google 地图 API 版本?

    如果您不指定版本号 则使用哪个版本的 Google Maps API 也许是最新的发行版本 这有关版本控制的文档 https developers google com maps documentation javascript basic
  • Python - 释放/替换字符串变量,如何处理?

    假设我将密码以纯文本形式存储在名为的变量中passWd作为字符串 一旦我放弃这个变量 python如何释放它 例如 使用del passWd or passWd new random data 字符串是否存储为字节数组 这意味着它可以在最初
  • 类库和命名空间有什么区别?

    类库和命名空间之间的实际区别是什么 我知道两者都用于将类 命名空间等分组在一起 任何人都可以告诉我在哪种情况下应该使用类库以及何时创建新的命名空间 命名空间为类提供了概念上的分离 类库提供了物理上的分离 在 Windows 中认为是独立的
  • 导入错误:没有名为 model_selection 的模块

    我正在尝试使用train test split函数并写 from sklearn model selection import train test split 这导致 ImportError No module named model s
  • 在facet_wrap中绘制平均线

    我有以下数据集 structure list Geschaeft c 0 0961028525512254 0 0753516756309475 0 0 0722803347280335 0 0 000877706260971328 Gas
  • Pandaboard 交叉编译 Qt

    我花了几周的时间尝试为我的 Panda 板交叉编译 Qt 但没办法 我无法通过 configure 如果有人能给我帮助 我将不胜感激 我的主机系统是Ubuntu 13 04 86 64位 在Virtualbox中运行 我的目标系统是 Pan
  • Python 中的舍入是如何工作的?

    我对 Python 中舍入的工作原理有点困惑 有人能解释一下为什么Python会这样吗 Example gt gt gt round 0 05 1 this makes sense 0 1 gt gt gt round 0 15 1 thi