我编写了这些简单的行并在python 2/3上运行它们。
i=1.194857193845710948754654
print(len(str(i)))
我有2个不同的输出。这是什么原因?如何在python2中实现相同的输出?
输出python2:
>>> 13
输出python3:
>>> 18
答案 0 :(得分:1)
这是因为浮动的str()
实现方式不同,可以轻松验证。
实际的浮点精度是相同的。
$ python2 Python 2.7.9 >>> i=1.194857193845710948754654 >>> i 1.1948571938457109 >>> str(i) '1.19485719385' >>>
$ python3 Python 3.4.3 >>> i=1.194857193845710948754654 >>> i 1.1948571938457109 >>> str(i) '1.1948571938457109' >>>