繁体   English   中英

在输入中输入小数点前加0?

[英]Adding a 0 before decimal entered in input?

我正在尝试使用jQuery完成快速表单,如果小数是输入中输入的第一个字符,则需要在小数点前添加0。

例如,.25在提交表单之前将变为0.25。 但是,2.05将保持为2.05,并且不会添加0。

这里有一个简单的功能可以帮助我吗? 如果没有必要,我宁愿不写一些冗长而详细的东西。

另外,这里是我要求帮助的输入框,供参考

<input type="number" name="dailygain" id="dailygain" />

您可以使用parseFloat函数来格式化浮点数。

var el = document.getElementById("dailygain");
el.value = parseFloat(el.value);

乘以1( *1 )使其成为数字。

如果你把它作为数字,它会自动为你做; 根据您的系统区域设置进行格式化。

例:

var x = '.25';
console.log( x*1 );  // 0.25

使用一元加号(例如, console.log( +x ); )可以实现同样的目的console.log( +x );

parseFloat可能更适合,但无论如何:

$('#dailygain').on('keyup', function() {
    if (this.value[0] === '.') this.value = '0'+this.value;
});

FIDDLE

把它放在一个运行onsubmit的函数onsubmit

var num=$("#dailygain").val(); //read the number from the textbox
num=num.toString(); //convert that number to a string
if (num.charAt(0)==".") //check if the string starts with a period
    num="0"+num; //if so, add a 0 in front of it
$("#dailygain").val(num); //write the number back to the tb
$("input[name=dailygain]").keyup(function(){
   var val = this.value;
   if(val.charAt(0) === '.'){
     this.value = ('0'+val); 
   }
});

http://jsbin.com/ofivun/2/edit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM