如果java返回給前端的字段有Long類型的,比如主鍵id,那么就要把這個Long類型轉為String類型才可以,不然前端拿到這個字段再傳回給你后端用的時候會導致精度缺失,也就是這個字段的值會改變,原因是java的Long類型是18位,??js的Long類型是16位,所以會導致精度缺失
JavaScript 無法處理 Java 的長整型 Long, 從而導致精度丟失,具體表現為主鍵最后兩位永遠為 0,解決思路: Long 轉為 String 返回就可以完美的解決了
原因:
java中得long能表示的范圍比js中number大,也就意味著部分數值在js中存不下(變成不準確的值).
解決辦法:
使用ToStringSerializer的注解,讓系統序列化時,保留相關精度