我正在尝试使用jQuery完成快速表单,如果小数是输入中输入的第一个字符,则需要在小数点前添加0。
例如, 在提交表单之前,.25将变为0.25。 但是,2.05将保持为2.05,并且不会添加0。
这里有一个简单的功能可以帮助我吗?如果没有必要,我宁愿不写一些冗长而详细的内容。
此外,这是我要求帮助的输入框,供参考
<input type="number" name="dailygain" id="dailygain" />
答案 0 :(得分:9)
您可以使用parseFloat
函数格式化浮点数。
var el = document.getElementById("dailygain");
el.value = parseFloat(el.value);
答案 1 :(得分:1)
乘以1(*1
)使其成为数字。
如果你把它作为一个数字,它会自动为你做;根据您的系统区域设置进行格式化。
示例:
var x = '.25';
console.log( x*1 ); // 0.25
使用一元加(例如console.log( +x );
)
答案 2 :(得分:0)
parseFloat可能更适合,但无论如何:
$('#dailygain').on('keyup', function() {
if (this.value[0] === '.') this.value = '0'+this.value;
});
答案 3 :(得分:0)
将其放入函数运行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
答案 4 :(得分:0)
$("input[name=dailygain]").keyup(function(){
var val = this.value;
if(val.charAt(0) === '.'){
this.value = ('0'+val);
}
});