在python中序列化长数的最佳方法是什么?在python中序列化长数
我在想泡菜,但它仍然会返回“缩短”版本。我明明写的所有的数字..
longNum = math.pow(2,1000)
f = open("file", "w")
pickle.dump(str(longNum), f)
f.close()
f = open("file","r")
longNum = pickle.load(f)
f.close()
print longNum
1.07150860719e + 301
不相关,但你知道你可以写'2 ** 1000'而不是'math.pow(2,1000)',对不对? – 2011-06-17 01:37:19
math.pow返回一个浮点数。在对它进行序列化之前,精度已经丢失 – 2011-06-17 01:39:19
对不起,是的,问题来自数学模块失去精度,谢谢! – 2011-06-17 01:41:07