我有一个表单,我试图在某些输入字段中自动强制执行小数。基本上我希望用户不要担心格式,但只需将字段格式化为自己的格式。
以下是我希望实现的一些例子:
1。)如果用户输入“0.95”则没有任何操作,因为这是我最终要采用的最终格式。
2。)如果用户输入“.95”,我希望将字段onBlur更改为上述格式“0.95”。 (同样,如果他们输入“.9”等)
我整晚都在网上寻找解决方案,所以这是我的最后一招!我能得到的任何帮助和反馈都将不胜感激!
谢谢!
答案 0 :(得分:4)
这样的事情可以做到:
document.getElementById('amount').onblur = function() {
if(this.value && !isNaN(this.value)) {
this.value = parseFloat(this.value).toFixed(2);
} else {
this.value = 0;
}
};
答案 1 :(得分:1)
这很简洁:
function blurFormatDecimal (e) {
var val = isFinite(this.value) ? +this.value : 0;
this.value = val.toFixed(2);
}
myInput.onblur = blurFormatDecimal;
使用isFinite()
代替!isNaN()
,因为isNaN("Infinity")
会返回false
,但您当然不希望接受"Infinity"
作为有效输入。
答案 2 :(得分:0)
如果您需要使用PHP执行此操作,请尝试:
git push
答案 3 :(得分:-1)
这是php解决方案:
$formattedAmount = sprintf("%01.2f",$amount);