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
有效请点个采纳 谢谢!