文章詳情頁
JavaScript中的精確財務計算什么是陷阱?
瀏覽:123日期: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 - 如何通俗易懂的解釋“依賴注入”?2. dockerfile - [docker build image失敗- npm install]3. mysql - 記得以前在哪里看過一個估算時間的網站4. Span標簽5. angular.js - angularjs如何傳遞id給另一個視圖 根據id獲取json數據?6. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?7. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失??!8. docker gitlab 如何git clone?9. docker start -a dockername 老是卡住,什么情況?10. 數據庫無法進入
排行榜
