关于输入框输入2位小数的问题

obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符

obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字

obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的

obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");

obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数

这样的代码我找了很多类似的,但是都会出现下面的问题:
关于输入框输入2位小数的问题
请大神支招

回答

obj.value = obj.value.replace(/^((-)?(\d+\.\d{2}).*|.*)$/, '$2$3')

试试

parseFloat(number.toFixed(2));

或者

<input type="number" step="0.01">
this.num=Math.floor(this.num * 100) / 100;//保留两位小数,不四舍五入

this.num = this.num.toFixed(2)//保留两位小数,四舍五入

以上是 关于输入框输入2位小数的问题 的全部内容, 来源链接: utcz.com/a/59014.html

回到顶部