-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

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

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 回答