我有一些简单的代码,如下所示
a = 0.8889
print repr(a)
print str(a)
我在几种不同的系统(包括python 2.7.12〜2.7.14,作为提示输入或脚本)上进行了尝试,总是得到如下结果
0.8889
0.8889
这是一个例子。
但是,在App Engine(运行时Python 2.7.12)上,我得到了
0.88890000000000002
0.8889
我知道repr()趋势会更加精确。问题是为什么App Engine的行为会有所不同。它是否依赖底层硬件?
背景:
这个事实让我很烦,因为在将浮点数转换为json时,我不必要地放宽了位数。
更新:
原来这是GAE运行时的错误。正如Mark所评论的,根本原因是未配置sys.float_repr_style。GAE支持团队在此处创建了错误报告。
Update2: 它已于2018/08/19修复。即使尚未宣布。
慕容3067478
Qyouu
相关分类