JS或PHP将前导零添加到小数
我有一个表单,我试图在一些输入字段中自动强制使用小数。基本上,我希望用户不必担心格式问题,只需将字段本身格式化为onBlur即可 以下是我希望实现的几个例子: 1.)如果用户输入“0.95”,则不会执行任何操作,因为这是我最终选择的最终格式 2.)如果用户输入“.95”,我希望onBlur字段更改为上述格式“0.95”。(同样,如果他们输入“.9”等) 我整晚都在互联网上寻找解决方案,所以这是我最后的选择!如果我能得到任何帮助和反馈,我将不胜感激JS或PHP将前导零添加到小数,php,javascript,formatting,decimal,Php,Javascript,Formatting,Decimal,我有一个表单,我试图在一些输入字段中自动强制使用小数。基本上,我希望用户不必担心格式问题,只需将字段本身格式化为onBlur即可 以下是我希望实现的几个例子: 1.)如果用户输入“0.95”,则不会执行任何操作,因为这是我最终选择的最终格式 2.)如果用户输入“.95”,我希望onBlur字段更改为上述格式“0.95”。(同样,如果他们输入“.9”等) 我整晚都在互联网上寻找解决方案,所以这是我最后的选择!如果我能得到任何帮助和反馈,我将不胜感激 谢谢大家! 像这样的东西可以做到: docume
谢谢大家! 像这样的东西可以做到:
document.getElementById('amount').onblur = function() {
if(this.value && !isNaN(this.value)) {
this.value = parseFloat(this.value).toFixed(2);
} else {
this.value = 0;
}
};
像这样的东西可以做到:
document.getElementById('amount').onblur = function() {
if(this.value && !isNaN(this.value)) {
this.value = parseFloat(this.value).toFixed(2);
} else {
this.value = 0;
}
};
这很好,也很简洁:
function blurFormatDecimal (e) {
var val = isFinite(this.value) ? +this.value : 0;
this.value = val.toFixed(2);
}
myInput.onblur = blurFormatDecimal;
使用isFinite()
而不是!isNaN()
因为isNaN(“无穷大”)
返回false
,但您肯定不想接受“无穷大”
作为有效输入
这很好,也很简洁:
function blurFormatDecimal (e) {
var val = isFinite(this.value) ? +this.value : 0;
this.value = val.toFixed(2);
}
myInput.onblur = blurFormatDecimal;
使用isFinite()
而不是!isNaN()
因为isNaN(“无穷大”)
返回false
,但您肯定不想接受“无穷大”
作为有效输入
以下是php解决方案:
$formattedAmount = sprintf("%01.2f",$amount);
以下是php解决方案:
$formattedAmount = sprintf("%01.2f",$amount);
如果需要使用PHP执行此操作,请尝试:
$formattedAmount=sprintf(“%05.2f”,$amount)代码>如果需要使用PHP执行此操作,请尝试:
$formattedAmount=sprintf(“%05.2f”,$amount)代码>返回“无穷大”
。并返回与不一致的“0.00”
(返回“0”
,不带任何小数点)。返回“无穷大”
。并返回“0.00”
,这与不一致(返回“0”
,没有任何小数点)。谢谢gilly!!成功了!与飞行的颜色。我很感激!谢谢吉莉!!成功了!与飞行的颜色。我很感激!