2

一部の入力フィールドに小数を自動的に適用しようとしているフォームがあります。基本的には、ユーザーがフォーマットについて心配するのではなく、フィールド自体をonBlurでフォーマットするようにしたいのです。

これが私が達成したいと思っていることのいくつかの例です:

1.)ユーザーが「0.95」と入力した場合、これは最終的に私が目指している究極のフォーマットであるため、何も行われません。

2.)ユーザーが「.95」と入力した場合、onBlurフィールドを上記の「0.95」の形式に変更したいと思います。(同様に、「。9」などと入力した場合)

私は一晩中インターネットで解決策を探していたので、これが私の最後の手段です!私が得ることができるどんな助けとフィードバックもありがたいです!

ありがとうございました!

4

4 に答える 4

4

このような何かがそれをするでしょう:

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

jsFiddle

于 2012-07-26T17:00:59.147 に答える
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/

于 2012-07-26T17:20:40.097 に答える
0

PHPでこれを行う必要がある場合は、次を試してください。 $formattedAmount = sprintf("%05.2f",$amount);

于 2016-10-18T04:01:05.200 に答える
-1

これがphpソリューションです:

$formattedAmount = sprintf("%01.2f",$amount);
于 2012-07-27T02:54:41.127 に答える