python中的圆形浮点e + 23

时间:2015-10-14 06:55:28

标签: python floating-point rounding

我有浮动值如下:

6.07345232904e+23

如何将此转换为两位小数?

我尝试过round() 但它没有用。

2 个答案:

答案 0 :(得分:4)

你不能。该值约为607345232904000000000000,已经有两位以上的小数位。如果您希望表示有两个小数位,那么您必须指定。

integral(fun,-10,10)

答案 1 :(得分:2)

回答您对实际想做的事情的澄清,即比较具有给定精度的两个数字:

根据您的标准,有不同的方法可以做到这一点。最简单的解决方案是

abs(a-b) <= tolerance

如果您使用的是Python 3.5,则可以使用math.isclose。对于早期版本,这应该是功能相同的

def isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0):
  return abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

如果您确实需要处理所有极端情况,则必须some additional work