js 小数相加出现很多小数位

本文探讨了JavaScript中浮点数运算出现误差的原因,并提供了一种解决方案,通过将数字转换为固定小数位数的形式来避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
出现问题
相加两个数字为 135.9 + 40 + 110 = 285.9
本应该只是 285.9

原因:这是因为Javascript的数字类型是以64位的IEEE 754格式存储的。
解决办法:
对相加结果做如下处理:

function toDecimal(x) {    
     var val = Number(x)   
    if(!isNaN(parseFloat(val))) {    
       val = val.toFixed(1);//把 Number 四舍五入为指定小数位数的数字。
    }  
    return  val;     
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值