我有浮动值如下:
6.07345232904e+23
如何将此转换为两位小数?
我尝试过round()
但它没有用。
答案 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。