我需要处理一些长数字,但是会显示为科学计数法,在网上查了很多方法之后发现,
如果转换成整形的话,数字会变,比如下面三行代码:
a = 635938053164964643
str1 = str('{:.0f}'.format(a))
str1
得到结果:'635938053164964608'
好迷啊
浮点数的精度是有限制的。当你用它转换长整数的时候,因为误差的原因,尾数会丢失(要么进位要么丢弃),因为是2进制的缘故,所以你看到的结果肯定结尾是一个偶数。
a = 635938053164964643
str1 = str(a)
这样是正常的啊