我在Debian 6(32位)上使用相当旧的Python 2.6.6。面对的问题是,点后面带小数1的任何数字表示为:37.100000000000001
而不是37.1
。好的,我想按照引入的方式返回它,即{J}响应中的37.1
为float。我希望以float形式返回(否则'{0}'.format(number)
会保存我)。
UPD:我的系统上的样本:
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f = 37.1
>>> f
37.100000000000001
>>> round(f,2)
37.100000000000001
当JSON准备好时,它看起来像:
>>> import json
>>> f = 37.1
>>> json.dumps({'value': f})
{ 'value': 37.100000000000001 }
但我希望它是:
{ 'value': 37.1 }