input 使用v-model 传值后小数不精确
回答
原因分析:js在进行浮点型数值的运算的时候会出现不精确的现象,计算机进行二进制和十进制转换的过程中不精确;
例如:
0.1+0.2 = 0.30000000000000004;2.4/0.8 = 2.9999999999999996;
解决办法:
1、直接使用toFixed
var num = 0.1+0.2;var n=num.toFixed(2);
2、
先将数字转换为整数,再做其他运算,就是乘以10的n次方;
//项目中用到的利率转换过程,rate为利率变量
var zeroLast = (rate + '').split('.')[1],var borrowRate = !!zeroLast ? Math.pow(10,zeroLast.length) : rate;
检查一下是否有进行运算,我觉得是js的精度问题。
后台传过来的值是多少?1.81999999
之前
js的数值转换精度是个老生常谈的问题了, 网上有很多fix的方法, 可以搜一下
以上是 input 使用v-model 传值后小数不精确 的全部内容, 来源链接: utcz.com/a/32979.html