文章詳情頁
JavaScript中的精確財務計算。什么是陷阱?
瀏覽:217日期:2024-04-16 13:20:23
如何解決JavaScript中的精確財務計算。什么是陷阱??
您可能應該將小數點后的值乘以100,并將所有貨幣值表示為整分。JavaScript中沒有十進制數據類型-唯一的數字數據類型是浮點數。因此,通常建議將錢作為2550美分而不是25.50美元。
考慮一下JavaScript:
var result = 1.0 + 2.0; // (result === 3.0) returns true
但:
var result = 0.1 + 0.2; // (result === 0.3) returns false
該表達式0.1 + 0.2 === 0.3返回false,但幸運的是,浮點數的整數運算是精確的,因此可以通過縮放1來避免小數表示錯誤。
請注意,盡管實數集是無限的,但只能用JavaScript浮點格式精確表示實數中的有限數(準確地說是18,437,736,874,454,810,627)。因此,其他數字的表示將是實際數字2的近似值。
解決方法為了創建跨平臺代碼,我想用JavaScript開發一個簡單的財務應用程序。所需的計算涉及復利和相對較長的十進制數。我想知道使用JavaScript進行此類數學運算時應避免的錯誤-如果有可能的話!
標簽:
JavaScript
相關文章:
1. boot2docker無法啟動2. docker-compose中volumes的問題3. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””4. java - SSH框架中寫分頁時service層中不能注入分頁類5. nignx - docker內nginx 80端口被占用6. docker安裝后出現Cannot connect to the Docker daemon.7. javascript - mock.js可以存儲數據嗎8. docker api 開發的端口怎么獲取?9. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?10. golang - 用IDE看docker源碼時的小問題
排行榜

網公網安備