javaScript金额保留两位有效数字的坑与解决方法
1、输入框的正则表达式:
var reg = e.detail.value.match(/\d+\.?\d{0,2}/);
let val = '';
if (reg != null) {
val = reg[0];
}
2、关于保留两位有效数字的坑:
若采用向下取整方法Math.floor(num * 100) / 100,会在输入为3**.03时得到3**.02和再输入为3**.09时得到3**.08的问题
解决办法:
toFix: function(value,num) {
return (parseInt(value * 1000) / 1000).toFixed(parseInt(num)) // 此处2为保留两位小数,保留几位小数,这里写几
},
**注意:**这里一定要用(value * 1000) / 1000
至此完美解决问题。