我有来自网络服务的响应,该响应是 json 类型的字符串。我在这里使用 obj.getString() 获取 STHAR_GCMIK 值。
此代码最多可正确工作 6 位数字的值,但对于值 4000000,它返回 4.0E+7。我尝试了不同的解决方案,但失败了。如何按原样显示此处的值?
private AttrsSiparis parseSiparisBilgisi(String data) {
AttrsSiparis siparisBilgileri = new AttrsSiparis();
try {
JSONArray jsonArray = new JSONArray(data);
for(int i = 0; i < jsonArray.length(); i++)
{
JSONObject obj = jsonArray.getJSONObject(i);
Log.i(Constants.TAG, "Irsaliye Result Parse : STHAR_GCMIK " + obj.getString("STHAR_GCMIK"));
//siparisBilgileri.miktarlar.add(obj.getString("STHAR_GCMIK"));
siparisBilgileri.miktarlar.add(new BigDecimal(obj.getString("STHAR_GCMIK")).toString());
}
} catch (JSONException e) {
e.printStackTrace();
return null;
}
return siparisBilgileri;
}
如何按原样显示此处的值?
我猜你正在谈论显示已经解析的
BigDecimal
。如果是这样,那么如果您要记录或打印它,它将使用其 toString()
方法。该方法默认使用科学记数法。
toPlainString()
方法 - 它不使用科学记数法。