下面给出了几种保留两位小数的方法
1. 封装函数
function toDecimal2(x) {
let f = parseFloat(x);
if (isNaN(f)) {
return false;
}
f = Math.round(x * 100) / 100;
let s = f.toString();
let rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
2. 正则
- 正数且保留2位小数
var reg = /^\+?(\d*\.\d{2})$/;
var str = ".23";
reg.test(str)
- 正整数
/^[1-9]\d*$/
- 保留两位小数
/^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/
/^\d+\.?(\d{1,2})?$/