我有JSON转换成不同格式的数字,我不能够转换回,我需要的实际数量JSON数转换成十进制十六进制值
new JSONObject("{ \"trxId\": 1611041100656111100142000000000497}\");
Log.e(jsonObj.getString("trxId")
输出: 1.6110411006561111EE
我得到了这个trxId以及更多的细节,这个ID将被用于与服务器进一步的API调用。你能帮我解决这个问题吗?
我有JSON转换成不同格式的数字,我不能够转换回,我需要的实际数量JSON数转换成十进制十六进制值
new JSONObject("{ \"trxId\": 1611041100656111100142000000000497}\");
Log.e(jsonObj.getString("trxId")
输出: 1.6110411006561111EE
我得到了这个trxId以及更多的细节,这个ID将被用于与服务器进一步的API调用。你能帮我解决这个问题吗?
您将需要使用BigDecimal类在这里,可能会使用doubleValue()
方法。使用类似如下的内容:
String requiredNumber = new BigDecimal(stringRepresentationOfYourNumber).doubleValue() + "";
这样,你可以得到充分一些,而不是科学记数法。
请参阅here
我用double requiredNumber = new BigDecimal(jsonObj.getString(“trxId”))。doubleValue();但仍然这给了我相同的价值 –
@SampathKumar你确认你已经打印了确切的价值?另请参阅编辑。让我知道如果字符串输出正确。 – Nabin
你究竟做了什么?你是如何得到这个输出的? – Henry