【发布时间】:2014-01-09 21:01:18
【问题描述】:
我通过乘法等来计算变量 我注意到了这种奇怪的行为。
如果我使用这些计算:
CD = 6
CDR = 0.4
CD = float(CD) - (float(CDR) * float(CD))
理论上,如果我打印(CD)它会打印出 6 - (6 * 0.4) = 6 - 2.4 = 3.6
3.5999999999999996
是否有我可以避免的原因?有没有办法,比如 math.ceil 将数字四舍五入但到某个小数,例如到 x.xxxxx(第 5 个十进制)?
(如果我在这篇文章中做错了什么,请告诉我,我在这个网站上找到了一段时间的答案,但以前从未发布过,所以我可能做错了什么,提前道歉。)
【问题讨论】:
-
docs.python.org/2/tutorial/floatingpoint.html 它只是野兽的本质就是浮点数......它几乎发生在每一种语言中.. 将它四舍五入到小数点后 5 位
"%0.5f"%my_float -
python中有一个format命令可以产生浮点数被四舍五入的错觉。
标签: python math python-3.x rounding