文章詳情頁
JavaScript中的精確財務計算什么是陷阱?
瀏覽:222日期: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. mac連接阿里云docker集群,已經卡了2天了,求問?2. docker網絡端口映射,沒有方便點的操作方法么?3. debian - docker依賴的aufs-tools源碼哪里可以找到啊?4. 百度地圖api - Android 百度地圖 集成了定位,導航 相互的jar包有沖突?5. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.6. 為什么我ping不通我的docker容器呢???7. angular.js - angular內容過長展開收起效果8. html5和Flash對抗是什么情況?9. golang - 用IDE看docker源碼時的小問題10. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?
排行榜

網公網安備