鍍金池/ 問(wèn)答/Java  GO  HTML/ golang輸出int64類(lèi)型的數(shù)據(jù)js接收問(wèn)題

golang輸出int64類(lèi)型的數(shù)據(jù)js接收問(wèn)題

服務(wù)端使用go語(yǔ)言,框架iris輸出的json里有int64類(lèi)型的數(shù)據(jù):7156182378476995584,js接收之后值發(fā)生了變化,變?yōu)椋?156182378476996000

問(wèn)題主要在服務(wù)端:

clipboard.png
這個(gè)struct是我要輸出的data,里面的Uid是int64位,我想在輸出時(shí)將它轉(zhuǎn)為string,這個(gè)除了通過(guò)for循環(huán)有沒(méi)有優(yōu)雅的處理方法

回答
編輯回答
慢半拍

js數(shù)值操過(guò)Math.pow(2, 53)會(huì)丟失精度的,可以在接收的時(shí)候轉(zhuǎn)爲(wèi)字符串啊

2017年3月3日 18:31
編輯回答
初念

讓go的這個(gè)結(jié)構(gòu)體實(shí)現(xiàn)Marshaler接口,在接口實(shí)現(xiàn)里把Uid屬性值改為字符串,這樣一來(lái)結(jié)構(gòu)體序列化成的JSON結(jié)構(gòu)中Uid屬性就是字符串了。

2017年10月21日 05:15
編輯回答
法克魷

這明顯溢出了,計(jì)算機(jī)不支持那么大的數(shù)字,你可以選擇把數(shù)字變成字符串

2017年6月28日 14:35