2016-11-09 230 views
-2

我有JSON转换成不同格式的数字,我不能够转换回,我需要的实际数量JSON数转换成十进制十六进制值

new JSONObject("{ \"trxId\": 1611041100656111100142000000000497}\"); 
Log.e(jsonObj.getString("trxId") 

输出: 1.6110411006561111EE

我得到了这个trxId以及更多的细节,这个ID将被用于与服务器进一步的API调用。你能帮我解决这个问题吗?

+0

你究竟做了什么?你是如何得到这个输出的? – Henry

回答

0

您将需要使用BigDecimal类在这里,可能会使用doubleValue()方法。使用类似如下的内容:

String requiredNumber = new BigDecimal(stringRepresentationOfYourNumber).doubleValue() + ""; 

这样,你可以得到充分一些,而不是科学记数法。

请参阅here

+0

我用double requiredNumber = new BigDecimal(jsonObj.getString(“trxId”))。doubleValue();但仍然这给了我相同的价值 –

+0

@SampathKumar你确认你已经打印了确切的价值?另请参阅编辑。让我知道如果字符串输出正确。 – Nabin