我试图用一些值解析json数组。 对于像#34; 0.00009800"。
这样的长值有一些问题我已经尝试过jsonObject.getDouble和getString - 它返回9.8E-5。 也尝试了相同结果的BigDecimal。
它应该是我想要的简单解决方案。
tmp.high24h = Double.valueOf(e.getString("High"));
tmp.low24h = java.math.BigDecimal.valueOf(e.getDouble("Low")).doubleValue();
答案 0 :(得分:2)
9.8E-5
是预期值。它代表9.8 * 10^(-5)
。
答案 1 :(得分:0)
始终对较大的十进制值使用 String 数据类型。将json字符串转换为java对象后,通过在BigDecimal构造函数中将字符串作为参数传递,将其转换为BigDecimal值。
答案 2 :(得分:0)
知道了:
tmp.high24h = e.getDouble("High");
String test = String.format(Locale.US, "%.5f", tmp.high24h);