JS或PHP将前导零添加到小数

时间:2012-07-26 16:57:26

标签: php javascript formatting decimal

我有一个表单,我试图在某些输入字段中自动强制执行小数。基本上我希望用户不要担心格式,但只需将字段格式化为自己的格式。

以下是我希望实现的一些例子:

1。)如果用户输入“0.95”则没有任何操作,因为这是我最终要采用的最终格式。

2。)如果用户输入“.95”,我希望将字段onBlur更改为上述格式“0.95”。 (同样,如果他们输入“.9”等)

我整晚都在网上寻找解决方案,所以这是我的最后一招!我能得到的任何帮助和反馈都将不胜感激!

谢谢!

4 个答案:

答案 0 :(得分:4)

这样的事情可以做到:

document.getElementById('amount').onblur = function() {
    if(this.value && !isNaN(this.value)) {        
        this.value = parseFloat(this.value).toFixed(2);
    } else {
        this.value = 0;
    }
};

jsFiddle

答案 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"作为有效输入。

http://jsfiddle.net/gilly3/NjeQD/

答案 2 :(得分:0)

如果您需要使用PHP执行此操作,请尝试: git push

答案 3 :(得分:-1)

这是php解决方案:

$formattedAmount = sprintf("%01.2f",$amount);