【问题标题】:JSON converts the number into decimal hex valueJSON 将数字转换为十进制十六进制值
【发布时间】:2016-11-09 08:12:10
【问题描述】:

我有 JSON 将数字转换为不同的格式,但无法转换回我需要的实际数字

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

输出:

1.6110411006561111EE

我得到这个 trxId 以及更多详细信息,这个 ID 将用于与服务器的进一步 API 调用。

【问题讨论】:

  • 你到底做了什么?你是怎么得到这个输出的?

标签: java json gson


【解决方案1】:

您需要在此处使用 BigDecimal 类,并且可以使用 doubleValue() 方法。使用类似于以下的内容:

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

这样你可以得到完整的数字而不是科学记数法。

见here

【讨论】:

  • 我使用了 double requiredNumber = new BigDecimal(jsonObj.getString("trxId")).doubleValue();但这仍然给了我相同的价值
  • @SampathKumar 你确认你打印了准确的值吗?另请参阅编辑。让我知道字符串是否正确输出。
猜你喜欢
  • 1970-01-01
  • 2014-02-05
  • 2018-01-22
  • 1970-01-01
  • 2015-01-26
  • 1970-01-01
  • 2012-02-03
相关资源
最近更新 更多