仅在javascript中为空精度时才添加零

时间:2015-08-24 08:25:22

标签: jquery numbers tofixed

我在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

当四位数位于小数点后面时,保持原样,但如果有一位数字,则应附加零。

toFixed()方法对我帮助不大。

1 个答案:

答案 0 :(得分: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)