JavaScript:十进制值

标签 javascript decimal

在 JavaScript 中我可以使用什么作为十进制类型?它不受支持( 0.1 + 0.2 !== 0.3 ),我需要它来表示银行/金融应用程序中的精确值。请参阅 The State and Future of JavaScript 好好阅读一下 JavaScript 背后的肮脏细节,以及它(缺乏)对十进制算术的支持。

我所说的“十进制”是指:

  1. 无限范围和任意精度(如 Java 中的 BigDecimal),或
  2. 范围和精度有限,但适合财务计算(例如 C# 中的 decimal)。

那么,有哪些库或解决方案可以处理十进制值?谢谢!

最佳答案

通常建议1将货币处理为代表美分数量的整数:2572 美分,而不是 25.72 美元。这是为了避免您提到的浮点运算问题。幸运的是,浮点中的整数运算是精确的,因此可以通过缩放来避免小数表示错误。

<小时/>

1道格拉斯·克罗克福德:JavaScript: The Good Parts: Appendix A - Awful Parts (page 105) .

关于JavaScript:十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454965/

相关文章:

javascript - 当 id 已被使用时,如何存储 div 的标识?

javascript - 富客户端与 JQuery 等的交互——最可靠的方法?

ios - 有什么方法可以在 swift 4 中迭代 double var 的小数部分吗?

java - 理解 Java 变量/小数

javascript - odata 查询在 ie 7 中不起作用

javascript - 在reactjs中循环获取

javascript - 无需外部库即可更改音频元素的音高?

python - django.db.utils.DataError : numeric field overflow - django 错误

java - 数学技能较弱 : What is an 8-bit numerator and 8-bit denominator?

java长整顿到小数点后两位绝对值