当然是一个愚蠢的问题,请原谅我。我的客户希望十进制数字以五位数显示。例如:100.34或37.459。我用val.toPrecision (5);
完成了这项工作;然而,当我的数字变得非常小时,我就会停止得到我想要的东西。例如,如果我的数字是0.000347,则显示0.00034700。现在,我理解为什么会这样做,但我不知道的是如何让它显示0.0003。有什么想法吗?
答案 0 :(得分:5)
Math.round(0.000347 * 1e4) / 1e4
或toFixed
:
Number.prototype.toNDigits = function (n) {
return (Math.abs(this) < 1) ?
this.toFixed(n - 1) :
this.toPrecision(n);
};
答案 1 :(得分:2)
我们的问题是数字小于1显然。所以抓住他们并单独处理它们
function SetPrecisionToFive(n){
return (n > 1) ? n.toPrecision (5) : (Math.round(n * 1e4) / 1e4).toString();
}
答案 2 :(得分:1)
您可以使用toFixed方法来完成此任务。例如:(0.000347).toFixed(4)
答案 3 :(得分:-1)
Javascript toFixed()函数会将小数字截断为固定的小数精度,例如:
var num = .0000350;
var result = num.toFixed(5); // result will equal .00003