日期:2014-05-16 浏览次数:20557 次
<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>