【发布时间】:2015-08-07 17:47:45
【问题描述】:
这就是我所拥有的:x = 2.00001
这就是我需要的:x = 2.00
我正在使用:float("%.2f" % x)
但我得到的只是:2
如何将小数位限制为两位,并确保始终有两位小数,即使它们为零?
注意:我不希望最终输出是字符串。
【问题讨论】:
-
你在哪里想要这个
two decimal places?内部浮点数以二进制格式存储,它基本上取决于你想要这两个小数位格式化的浮点数 -
嗨 Shil,你用这个做什么?如果需要值,那当然是2.00 == 2。如果需要显示,为什么不能转成字符串呢?
-
您是否尝试使用浮点数来表示美元和美分的数量?由于浮点数的不精确性,通常不鼓励这样做。往往会有bad consequences,当货币交易最终在这里或那里减少一分钱时。
-
如果你最后要调用
float(),你如何格式化它并不重要。2.00与2或2.0完全相同。 -
也许使用
decimalpackage?
标签: python numbers format decimal floating-point-precision