-1

ここにjavascriptの状況があります

**Value**       **Expected**  **toFixed(2)**
var a = 0.0273 |  0.0273     |  0.03(X)
var b = 0.8    |  0.80       |  0.80
var b = 53.7   | 53.70       | 53.70

小数点以下 4 桁の場合はそのまま、1 桁の場合は 0 を追加します。

toFixed()メソッドはあまり役に立ちませんでした。

4

1 に答える 1

0

最初に、次のように小数の数を確認します。

var countDecimals = function (value) { 
    if ((value % 1) != 0) 
        return value.toString().split(".")[1].length;  
    return 0;
};

https://stackoverflow.com/a/17369384/1870760

次に、それが 4 かどうかを確認し、次のように解析しtoFixedます。

var a = 0.0273;

    var countDecimals = function (value) { 
        if ((value % 1) != 0) 
            return value.toString().split(".")[1].length;  
        return 0;
    };

if(countDecimals(a) < 4)
  a = (Math.round(a * 100) / 100).toFixed(2);

alert(a)
于 2015-08-24T08:39:26.230 に答える