新聞中心
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
現(xiàn)象
java中的大數(shù)字比如18/19位的整數(shù)(long),轉(zhuǎn)為json,輸出到頁(yè)面后,就出現(xiàn)精度丟失,如果數(shù)字再大些就會(huì)出現(xiàn)科學(xué)計(jì)數(shù)法。
這兩個(gè)問(wèn)題都不是json工具包(比如Gson)的問(wèn)題,而是由于js存儲(chǔ)大數(shù)字丟失精度引起。
1、精度丟失例子:當(dāng)js表達(dá)整數(shù)時(shí),最多表達(dá)15位數(shù)字,如果超過(guò)15位就會(huì)出現(xiàn)精度丟失問(wèn)題。
援引js文檔:
精度
整數(shù)(不使用小數(shù)點(diǎn)或指數(shù)計(jì)數(shù)法)最多為 15 位。
最后幾位都變?yōu)?,丟失精度
var x = 1234567890123456999;
console.log(x);
輸出結(jié)果:1234567890123457000
2、數(shù)字再大一些就會(huì)出現(xiàn),科學(xué)計(jì)數(shù)法
var x = 123456789012345699999999;
console.log(x);
輸出結(jié)果:1.234567890123457e+23
解決辦法
后臺(tái)屬性由數(shù)字類(lèi)型改為字符串,轉(zhuǎn)為json,傳到前臺(tái)就不會(huì)丟失了。
以上這篇淺談java對(duì)象轉(zhuǎn)json,數(shù)字精確出現(xiàn)丟失問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。
分享文章:淺談java對(duì)象轉(zhuǎn)json,數(shù)字精確出現(xiàn)丟失問(wèn)題-創(chuàng)新互聯(lián)
文章位置:http://www.dlmjj.cn/article/dccdhp.html