Pet*_*fer 36 python rounding python-3.x
在使用round()函数时,我注意到我得到了两个不同的结果,具体取决于我是否没有明确选择要包含的小数位数或选择数字为0.
x = 4.1
print(round(x))
print(round(x, 0))
Run Code Online (Sandbox Code Playgroud)
它打印以下内容:
4
4.0
Run Code Online (Sandbox Code Playgroud)
有什么不同?
Ani*_*lur 37
如果未指定第二个参数,round函数将返回一个整数,否则返回值与第一个参数的类型相同:
>>> help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
Run Code Online (Sandbox Code Playgroud)
因此,如果传递的参数是整数和零,则返回值将是整数类型:
>>> round(100, 0)
100
>>> round(100, 1)
100
Run Code Online (Sandbox Code Playgroud)
为了完整起见:
负数用于小数点前的舍入
>>> round(124638, -2)
124600
>>> round(15432.346, -2)
15400.0
Run Code Online (Sandbox Code Playgroud)
Waz*_*aki 13
指定小数位数时,即使该数字为0,也要调用返回浮点数的方法的版本.所以你得到那个结果是很正常的.
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |