java 中使用 json 的问题

2015-03-05 16:34:50 +08:00
 stupidcat

我将两个double类型的变量min和max转化为json:
{"min":1.3E-5,"max":0.002923}

但是,这个“1.3E-5”是科学计数法,我不想用科学计数法,但是又想保持“数字”类型,不想把min转化为字符串,也不想把小数截断、只保留特定的位数。因此String.format、NumberFormat、DecimalFormat等等都不符合要求

我想要的结果:{"min":0.000013,"max":0.002923}
我不要的结果:{"min":"0.000013","max":"0.002923"}

当然,手工构造一个json字符串肯定是可以的。。。。但那样的代码也太丑陋了。我用的json库是fastjson。请问有办法达到我这要求吗?

1910 次点击
所在节点    问与答
4 条回复
wanjun
2015-03-05 16:43:11 +08:00
用 BigDecimal
stupidcat
2015-03-05 16:52:11 +08:00
↑ 解决
66beta
2015-03-05 17:10:39 +08:00
parseFloat(1.3E-5)
//0.000013
otakustay
2015-03-05 18:30:43 +08:00
如果这个JSON并不是用来你肉眼看的,而是给程序读的,那么科学计数法与否并不影响什么吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/174707

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX