文章詳情頁
JavaScript中的精確財務計算什么是陷阱?
瀏覽:161日期:2024-05-09 16:48:28
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決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. angular.js使用$resource服務把數據存入mongodb的問題。2. 關于docker下的nginx壓力測試3. 為什么我ping不通我的docker容器呢???4. angular.js - angularjs的自定義過濾器如何給文字加顏色?5. docker-machine添加一個已有的docker主機問題6. docker安裝后出現Cannot connect to the Docker daemon.7. docker - 如何修改運行中容器的配置8. nignx - docker內nginx 80端口被占用9. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題10. docker鏡像push報錯
排行榜
