當前位置:網站首頁>後臺返回的數值太大,js中數字太大導致的bug

後臺返回的數值太大,js中數字太大導致的bug

2022-01-27 10:55:39 imkaifan

安全”意思是說能够one-by-one錶示的整數,也就是說在(-2^53, 2^53)範圍內,雙精度數錶示和整數是一對一的,反過來說,在這個範圍以內,所有的整數都有唯一的浮點數錶示,這叫做安全整數。而超過這個範圍,會有兩個或更多整數的雙精度錶示是相同的;反過來說,超過這個範圍,有的整數是無法精確錶示的,只能round到與它相近的浮點數(說到底就是科學計數法)錶示,這種情况下叫做不安全整數。這並不是JS特有的性質,而是IEEE754雙精度浮點數就是這麼定義的。

在這裏插入圖片描述
在這裏插入圖片描述
本來想著我這邊處理:直接請求到結果的時候,將其序列化,然後將id處理為字符串形式的的,但是並不如願: 拿到這個值就已經不是安全數字了後面的全給弄成0,在傳輸過程中就丟失精度了

    return getMyProjectList(params)
        .then((res) => {
    
          console.log("項目列錶: ", JSON.stringify(res));
          listProject.splice(0);
          listProject.push(...res);
        })
        .finally(() => {
    
          loadingList.value = false;
        });
    

在這裏插入圖片描述
解决: 1、後臺返回為字符串(最優解) 2、數字减小

版權聲明
本文為[imkaifan]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271055390645.html

隨機推薦