python中将浮点数变成json时,控制小数位数
2017-02-16 11:55
651 查看
>>>import json
>>>d = { 'a': 0.333333333, 'b': 0.445444444, 'c': 0.293 }
>>>json.dumps(d)
得到
'{"a": 0.333333333, "c": 0.293, "b": 0.445444444}'
而我们期望得到
'{"a": 0.33, "c": 0.29, "b": 0.45}'
以下是解决办法
http://stackoverflow.com/questions/1447287/format-floats-with-standard-json-module
>>>d = { 'a': 0.333333333, 'b': 0.445444444, 'c': 0.293 }
>>>json.dumps(d)
得到
'{"a": 0.333333333, "c": 0.293, "b": 0.445444444}'
而我们期望得到
'{"a": 0.33, "c": 0.29, "b": 0.45}'
以下是解决办法
http://stackoverflow.com/questions/1447287/format-floats-with-standard-json-module
import json def pretty_floats(obj): if isinstance(obj, float): return round(obj, 3) elif isinstance(obj, dict): return dict((k, pretty_floats(v)) for k, v in obj.items()) elif isinstance(obj, (list, tuple)): return map(pretty_floats, obj) return obj d = { 'a': 0.333333333, 'b': 0.445444444, 'c': 0.293 } print json.dumps(pretty_floats(d))
相关文章推荐
- 一种浮点数控制小数位数的方法
- 控制小数位数
- python中将json字符串转换为dict
- 水晶报表控制小数位数
- Python中的math和保留小数位数方法
- Python中的math和保留小数位数方法
- 怎么用DecimalFormat来控制小数的位数
- JS控制文本框只能输入整数或带一位小数的浮点数
- 控制sql语句查询出来的浮点类型数据小数点后的位数
- 在c++中如何控制小数位数
- actionscript 中 如何控制数字精度(小数位数)
- JS 控制小数位数的实现代码
- delphi Edit 控制最大值,只能输入数字型 控制小数位数(转)
- ruby 字符串格式化、进制转换、小数位数控制
- 控制sql语句查询出来的浮点类型数据小数点后的位数
- 获得一个浮点数的小数位数
- 控制数据库两个小数相除后的小数位数
- std::setprecision的使用(c++浮点数控制位数)
- c#中将一个浮点数保留指定有效位数的方法
- Python中的math和保留小数位数方法