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


Posted in Python onApril 18, 2014

有时需要在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]
Python 相关文章推荐
Numpy之文件存取的示例代码
Aug 03 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
python生成器推导式用法简单示例
Oct 08 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
Jun 09 Python
python中round函数保留两位小数的方法
Dec 04 Python
Python代码风格与编程习惯重要吗?
Jun 03 Python
Python使用MapReduce进行简单的销售统计
Apr 22 Python
python使用shell脚本创建kafka连接器
Apr 29 Python
python中使用OpenCV进行人脸检测的例子
Apr 18 #Python
在python的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 #Python
Python操作json数据的一个简单例子
Apr 17 #Python
python使用ctypes模块调用windowsapi获取系统版本示例
Apr 17 #Python
python调用windows api锁定计算机示例
Apr 17 #Python
python实现监控windows服务并自动启动服务示例
Apr 17 #Python
解决python写的windows服务不能启动的问题
Apr 15 #Python
You might like
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
php实现的用户查询类实例
2015/06/18 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
深入探讨前端框架react
2015/12/09 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python实现八大排序算法
2016/08/13 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
python 读取修改pcap包的例子
2019/07/23 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
Python with语句和过程抽取思想
2019/12/23 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
别名指示符是什么
2012/10/08 面试题
教师爱岗敬业演讲稿
2014/05/05 职场文书
授权收款委托书
2014/09/23 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
JavaScript异步操作中串行和并行
2021/11/20 Javascript