我有一些能量读数是分数,如:167512562.211221。
167512562.211221
我需要使用kWh价格值将这些数字转换为发票价格。
但JavaScript中的Number是浮点数,不适合进行货币计算。
Number
我该怎么做?
使用图书馆。
有很多,这个页面将帮助您了解在JavasScript中使用资金需要了解的事项。
https://frontstuff.io/how-to-handle-monetary-values-in-javascript
您可以尝试的一种解决方案是将您的数字存储为您正在使用的货币的最小分部(例如,如果您以美元交易,将价值存储为美分,因此1.00美元变为100,5.45美元变为545。
100
545
根据适用于您的业务逻辑的情况,您需要使用round,ceil或floor计算小数读数后的数字,但在此之后,可以执行加法和减法等操作而不必担心浮动的缺点点。
如果您需要应用更多分数逻辑(百分比折扣等),则可以在应用计算后使用适当的函数简化值。