python中精确输出JSON浮点数的方法

yipeiwu_com6年前Python基础

有时需要在JSON中使用浮点数,比如价格、坐标等信息。但python中的浮点数相当不准确, 例如下面的代码:

复制代码 代码如下:

#!/usr/bin/env python

import json as json

data = [ 0.333, 0.999, 0.1 ]
print json.dumps(data)


输出结果如下:
复制代码 代码如下:

$ python floatjson.py
[0.33300000000000002, 0.999, 0.10000000000000001]

能不能指定浮点数的输出格式,比如精确到小数点后两位呢?有个简单的方法,虽然比较dirty:
复制代码 代码如下:

#!/usr/bin/env python

import json
json.encoder.FLOAT_REPR = lambda x: format(x, '.3f')

data = [ 0.333, 0.999, 0.1 ]
print json.dumps(data)


这样输出结果为:
复制代码 代码如下:

$ python floatjson.py
[0.333, 0.999, 0.100]

相关文章

Django集成搜索引擎Elasticserach的方法示例

1.背景 当用户在搜索框输入关键字后,我们要为用户提供相关的搜索结果。可以选择使用模糊查询 like 关键字实现,但是 like 关键字的效率极低。查询需要在多个字段中进行,使用 li...

python自动结束mysql慢查询会话的实例代码

生产环境的有些sql查询写得太复杂,或是表很大,对应索引未建立或建立不合理,或是查询未充分使用索引等,就有可能出现慢查询,一些慢查询需要修改程序,可能没那么快能解决,这时如果有个脚本能自...

在Python中,不用while和for循环遍历列表的实例

如下所示: a = [1, 2, 3, 8, 9] def printlist(l, index): if index == len(l): return else:...

python私有属性和方法实例分析

本文实例分析了python的私有属性和方法。分享给大家供大家参考。具体实现方法如下: python默认的成员函数和成员变量都是公开的,并且没有类似别的语言的public,private等...

python使用正则表达式检测密码强度源码分享

复制代码 代码如下:#encoding=utf-8#-------------------------------------------------------------------...