文章详情页
JavaScript中的精确财务计算。什么是陷阱?
浏览:95日期: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. android - 安卓做前端,PHP做后台服务器 有什么需要注意的?2. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?3. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?4. python - xpath提取网页路径没问题,但是缺失内容?5. javascript - IOS微信audio标签不能通过touchend播放6. java中这个页面默认是utf-8编码的,1输出乱码可以理解,可是2就不理解了?7. python-mysql Commands out of sync8. docker不显示端口映射呢?9. javascript - 求教各位,本地HTML页面怎么在DIV中嵌套服务器上的页面内容?不用iframe。10. docker start -a dockername 老是卡住,什么情况?
排行榜
