Javascript如何实现一个四舍五入的显示器?
用户在输入框输入数值后, 网页显示出这个数值的四舍五入结果.
1. 如何保证用户输入的是数字, 包括负号, 而不是字母之类的?
2. 如何正确实现四舍五入?
<div><input id="t1"type="text"maxlength="20"/></div>
document.getElementById("qq").innerHTML="结果: "+toString(parseFloat(t1.value).toFixed(2));
var str = "-2.646";var reg = /\d+(\.\d+)?$/;if(reg.test(str)){ var result = parseFloat(str).toFixed(2); //结果 -2.65}
[解决办法]
正则 判断是否数字很简单, 然后可以用楼上的方法得到四舍五入 比字符串截取准确点
[解决办法]
<input type="text" name="nb" id="nb" onblur="check(this)" onkeyup="this.value=this.value.replace(/[^\d.-]/,'')"/><script type="text/javascript"> function check(obj){ var v=obj.value; if (v=="")return; if(!isNaN(v)){ obj.value = tofixed(v,2); }else{ obj.value = ""; alert("输入有误"); } } var tofixed=function(v,len) { var add = 0; var s,temp; var start = v.indexOf("."); if(v.substr(start+len+1,1)>=5)add=1; temp = Math.pow(10,len); s = Math.floor(v * temp) + add; return s/temp; }</script>