input 只能输入正数和小数
<el-input
type="number"
step="0.01"
min="0"
@input="valueInput"
onkeyup="value= value.match(/\d+(\.\d{0,2})?/) ? value.match(/\d+(\.\d{0,2})?/)[0] : ''"
v-model="value"
class="interlace"
></el-input>
解决小数相加出现多位数情况
获取到input内的小数后,要实现相加减保留2位小数操作,操作过程中发现出现很多位情况,经查验,这是JavaScript浮点运算的一个bug,我们可以用Number和toFixed处理一下就好
let num = Number(value) + Number(item)
if (!isNaN(parseFloat(num))) {
num = num.toFixed(2)
}
这样即可直接转换
去掉小数末尾多余的0
parseFloat(num)