2016-06-22 4 views
1

数値を制限すると考えているのは、小数点以下2桁ですが、残りがゼロの場合のみです。私は数字を四捨五入したい。小数点以下の桁数を特定の状況に制限します(丸められません)

Iは、結果は1.00であろうが、私は(1.0030).toFixed(2)ような番号を持っている場合、結果は1.003であるべきである。この例に (1.0000).toFixed(2)を使用してみました。

toFixedの組み合わせでparseFloatを使用しようとしましたが、結果が得られませんでした。

達成しようとしていることを実行するjavascriptの関数はありますか?

+1

あなたはするつもりはないここでは一つの方法です単なる丸め関数でそれを行うことができます。小数点以下桁数を検出するロジックが必要になり、適切な書式設定が適用されます。 –

+0

@Dalorzoはポストを読んでいますが、私は数字を丸めたいとは思わない... –

答えて

2

最小2桁の小数が必要ですか?

function toMinTwoDecimals(numString) { 
    var num = parseFloat(numString); 
    return num == num.toFixed(2) ? num.toFixed(2) : num.toString(); 
} 

例:あなたの代わりにこれを使用し、そのまま2つ未満の小数と数字を残したい場合は

toMinTwoDecimals("1.0030"); // returns "1.003" 
toMinTwoDecimals("1.0000"); // returns "1.00" 
toMinTwoDecimals("1"); // returns "1.00" 
toMinTwoDecimals("-5.24342234"); // returns "-5.24342234" 

function toMinTwoDecimals(numString) { 
    var num = parseFloat(numString); 

    // Trim extra zeros for numbers with three or more 
    // significant decimals (e.g. "1.0030" => "1.003") 
    if (num != num.toFixed(2)) { 
     return num.toString(); 
    } 

    // Leave numbers with zero or one decimal untouched 
    // (e.g. "5", "1.3") 
    if (numString === num.toFixed(0) || numString === num.toFixed(1)) { 
     return numString; 
    } 

    // Limit to two decimals for numbers with extra zeros 
    // (e.g. "1.0000" => "1.00", "1.1000000" => "1.10") 
    return num.toFixed(2); 
} 
関連する問題