Android - 如何使用 java 将大数字从 jsonobject 转换为字符串?

问题描述 投票:0回答:1

我有来自网络服务的响应,该响应是 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;
    }

java android json type-conversion
1个回答
0
投票

如何按原样显示此处的值?

我猜你正在谈论显示已经解析的

BigDecimal
。如果是这样,那么如果您要记录或打印它,它将使用其
toString()
方法。该方法默认使用科学记数法。

如果你想按原样显示数字你必须使用

toPlainString()
方法 - 它不使用科学记数法。

© www.soinside.com 2019 - 2024. All rights reserved.