文章詳情頁
JavaScript中的精確財務計算。什么是陷阱?
瀏覽:141日期: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. 哪位大神知道MySql怎么修改多行多列的數據?求指點2. 這是什么情況???3. 編輯管理員信息時,為什么沒有修改過的內容會為空?4. phpadmin的數據庫,可以設置自動變化時間的變量嗎?就是不需要接收時間數據,自動變化5. mysql - thinkphp5 在MAC電腦本地正常,部署LINUX服務器之后,模型不存在6. 老哥們求助啊7. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?8. PHP類封裝的插入數據,總是插入不成功,返回false;9. APP上傳到電腦服務器,出現數據上傳不完整的問題10. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?
排行榜
