首页 > 代码库 > python中将浮点数变成json时,控制小数位数
python中将浮点数变成json时,控制小数位数
>>>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
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时,控制小数位数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。