Aiv*_*var 0 python floating-point floating-accuracy
看起来4.5和5.5在Python 3.5中都有精确的浮点表示:
>>> from decimal import Decimal
>>> Decimal(4.5)
Decimal('4.5')
>>> Decimal(5.5)
Decimal('5.5')
Run Code Online (Sandbox Code Playgroud)
如果是这样的话,为什么呢
>>> round(4.5)
4
>>> round(5.5)
6
Run Code Online (Sandbox Code Playgroud)
?
在Python 3中,精确的中间数字舍入到最接近的偶数结果.在Python 3中,此行为已更改
该
round()舍入策略和返回类型的功能发生了变化.确切的中途情况现在四舍五入到最接近的偶数结果而不是零.(例如,round(2.5)现在返回2而不是3.)round(x [,n])现在委托给x.舍入([n])而不是总是返回一个浮点数.它通常在使用单个参数调用时返回一个整数,并在使用两个参数调用时返回与x相同类型的值.
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |