Dan*_*Dan 5 python google-app-engine
如果你把下列App Engine的壳牌你'50.49'.该结果在2.5和2.7运行时都是一致的.
>> a = '%0.2f' % (round(float(u'50.485'), 2),)
>> a
'50.49'
Run Code Online (Sandbox Code Playgroud)
但是,如果我把同样的东西放到运行python 2.7.1的本地MacBook Pro中,我会得到'50.48'.
>> a = '%0.2f' % (round(float(u'50.485'), 2),)
>> a
'50.48'
Run Code Online (Sandbox Code Playgroud)
为什么会有所不同?如何在本地计算机和App Engine的服务器之间保持一致?
显然,Google App Engine 使用“float”C 类型(IEEE 754 单精度),而本地 Python 使用“double”(IEEE 754 双精度)。
我怀疑 CPython 有一个配置开关可以使用“float”而不是“double”,但还没有找到。
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |