我有这段代码:
print(len(str(0.000110011001100110011001100110011001100110011001100)))
这回归22。 但是当我有这个代码时:
print(len("0.000110011001100110011001100110011001100110011001100"))
这回归53。
为什么呢?
答案 0 :(得分:5)
Python无法存储无限精度浮点数。它们在某个值后被截断。要了解详情,您可以check out the documentation。
str(0.000110011001100110011001100110011001100110011001100)
第一个python会将 0.000110011001100110011001100110011001100110011001100 解释为浮动数字,然后将其转换为字符串。
事实证明,0.000110011001100110011001100110011001100110011001100
被解释为0.00011001100110011001
,然后将其转换为22个字符的字符串。