js字符串表达式求值,遇到小数点的问题

js字符串表达式可以用eval求值,可是如果遇到小数点这个计算结果就不是正确的,这该如何解决呢?
小数点的加减可以是同时*10最后结果再除以10,可是这个是字符串表达式,不知道数字具体是怎么样的,请教

Number("5.5") 

可以使用JavaScript自带的方法,将字符串转换为数字,在进行加减计算。

举个例子,什么样的情况下结果是不正确的。如果能计算出值,那小数点不会有影响,除非说这个字符串表达式是有问题的,如果是精度问题,那和小数点和eval都无关,这是js的底层问题,都有这个问题

首先得看小数点后面位数,决定乘以几。
个人感觉这个计算交给后台去算比较合适。毕竟js浮点型计算底层转为二进制计算时会有无限循环问题。因此可以采用将浮点型转为整型再做计算。

有个插件叫mathjs

加减法的用这个计算 如果涉及混合运算 看这篇https://blog.csdn.net/i_am_a_div/article/details/121996534?spm=1001.2014.3001.5501

//加法
Math.round((parseFloat(num1) + parseFloat(num2))*100)/100

//减法
Math.round((parseFloat(num1) - parseFloat(num2))*100)/100

有效请点个采纳 谢谢!