js浮点数四舍五入精度丢失

使用js进行四舍五入时,会发生不准确的情况,例如:

(0.15).toFixed(1)

// 输出:0.1

按照期望,上述应该输出为0.2,但是实际输出的为0.1,这是因为精度丢失导致的。

既然浮点数存在精度丢失的问题,那么,将其转换为整数进行运算就不会再出现不精确的问题了。

const round = (num, decimal) => Math.round(num * 10 ** decimal) / 10 ** decimal;
const num = round(0.15, 1);

// 输出:0.2
如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注