【发布时间】:2016-06-03 01:08:25
【问题描述】:
理论上,Python round() 函数会将负数四舍五入到小数点左侧。 [ IE。回合(150,-2)=> 200]
但是,它似乎很容易出现浮点错误。
例如,给定一个大数 2e25,它会给出奇怪的结果。
2e25 === 20000000000000000000000000
但是,round(2e25, -23) 给出的值类似于 20000000000000000273942742
当它应该刚刚得到 20000000000000000000000000 时
我知道有一个格式化功能,就像这个线程: round() in Python doesn't seem to be rounding properly
但是,这似乎只适用于小数点右侧的舍入。我错了吗?还有另一种方法可以做到这一点吗?试图正确计算数学非常令人沮丧。
谢谢!
【问题讨论】: