【发布时间】:2014-08-07 12:33:34
【问题描述】:
我有一个浮点变量(例如:2.003)
我想自动将其更改为仅小数点后 2 位。
【问题讨论】:
-
看看这个之前的 SO 问题:stackoverflow.com/questions/56820/…
-
在计算中,还是只是为了显示?你看过
round吗?
标签: python python-3.x floating-point numbers
我有一个浮点变量(例如:2.003)
我想自动将其更改为仅小数点后 2 位。
【问题讨论】:
round吗?
标签: python python-3.x floating-point numbers
你可以使用round函数:
print round(2.003, 2) # 2.0
print round(2.013, 2) # 2.01
否则保持精度,只显示你想要的小数位数:
print '%.2f' % 2.003 # 2.00
print '%.2f' % 2.013 # 2.01
【讨论】:
round 的两个参数形式很少是正确的:如果用户出于显示目的四舍五入,那么他/她应该使用字符串格式(如您所描述)。如果用户想要一个浮点数,因为输出将用于进一步的计算,你必须想知道为什么通过舍入丢弃额外的精度是可以接受的。对于货币应用程序,Decimal 通常是要走的路:对于二进制浮点,四舍五入(二进制近似为)十进制中途情况,虽然定义完美,但从用户的角度来看基本上是任意的。跨度>