[英]Is it possible to convert large double number to big decimal without losing precision when deserializing a json data?
客戶向我發送了 json 雙數據,如“金額”:123345555789123495.38,在我們的程序中,我們獲得了整個消息,程序獲得了 1.23345555789123488E17 之類的值是否可以精確轉換此數據?
@JsonProperty("map") private ConcurrentHashMap<String, Object> extensionMap;
我嘗試了 new BigDecimal(String.valueOf(map.get("amount"))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
Output 是:123345555789123488.00
嘗試以下
導入 java.math.BigDecimal;
進口 static java.math.RoundingMode.HALF_UP;
公共 class 測試 {
public static void main(String[] args) {
String jsonAmount = "123345555789123495.38";
BigDecimal amount = new BigDecimal(jsonAmount).setScale(2, HALF_UP);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.