我在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()
方法对我帮助不大。
答案 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)