根据http://www.mredkj.com/javascript/nfbasic2.html,以下代码将导致 5.6e + 2 。
num = 555.55;
result = num.toPrecision(2); // result will equal 5.6e+2
如何让结果变量的输出显示而不用科学记数法(即e)?
答案 0 :(得分:18)
要获得精度降低的浮点数,可以像使用toPrecision()
那样使用result = parseFloat(num.toPrecision(2));
,然后使用parseFloat()解析科学计数法,如下所示:
{{1}}
如果您不希望降低精度,可以使用toFixed()获取具有一定小数位数的数字。
答案 1 :(得分:12)
Number((555.55).toPrecision(2))
答案 2 :(得分:0)
尝试
result = Math.ceil(555.55);
答案 3 :(得分:0)
我有一个类似的愿望,就是要保持一定的精度,不带尾随零,也没有科学记数法。我认为以下功能有效:
function toDecimalPrecision(val, digits) {
val = (+val).toPrecision(digits);
if (val.indexOf('e') >= 0) {
val = (+val).toString();
} else if (val.indexOf('.') >= 0) {
val = val.replace(/(\.|)0+$/, '');
}
return val;
答案 4 :(得分:-3)
eval
是邪恶的。
待办事项
var result = num.toPrecision(2).toString(10);
代替。