正在计算 JavaScript 中的价格

Calculating prices in JavaScript

我有一些能量读数是小数,例如:167512562.211221

我需要使用 kWh 价格值将这些数字转换为发票价格。

但是JavaScript中的Number是浮点数,不适合货币计算。

我应该怎么做?

使用图书馆。

有很多,此页面将帮助您了解在 JavasScript 中处理金钱需要了解的事项。

https://frontstuff.io/how-to-handle-monetary-values-in-javascript

您可以尝试的一种解决方案是将您的数字存储为您正在使用的货币的最小单位(例如,如果您以美元交易,则将您的价值存储为美分,因此 1.00 美元变为 100 和 5.45 美元变成 545.

根据您的业务逻辑,使用 round, ceil or floor 从小数读数计算后,您需要对数字进行四舍五入,但在那之后,加减法之类的事情就可以不用担心了关于浮点数的缺点。

如果您需要应用进一步的分数逻辑(百分比折扣等),可以在应用计算后使用适当的函数简单地四舍五入这些值。