list怎么精度求和,保留两位小数

怎么精度求和,pic可能是字符串,可能输数字,保留两位小数

list = [
    {
        name:'1',
        pic:'22.21'
    },
    {
        name:'2',
        pic:11.2
    }
]
阅读 4k
5 个回答

代码

list = [
    {
        name:'1',
        pic:'22.21'
    },
    {
        name:'2',
        pic:11.2
    }
];
list.reduce((acc,cur)=>acc + Number(cur.pic),0).toFixed(2);

结果
33.41

list.reduce((num, item) => num + Number(item.pic), 0).toFixed(2)

js里涉及小数计算的建议都用库,比如big.jsDecimal.js

list.reduce((acc, cur) => acc + Number(cur.pic), 0).toFixed(2)

有关reduce方法可以参考 reduce

浮点数计算容易丢失精度,建议引入库来解决问题。比如big.js。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题