缩短Javascript数字

3

我希望找到一种高效的方法来截断Javascript中的长浮点数。我需要这样做是因为我的输出有时可能像99.4444444那样,而我只关心"."后的前2位数字,例如99.44

我目前用于获取2个数字百分比的函数:

function takePercentage(x,y){
     return (x /y) * 100;
}
3个回答

7
你可以使用数字toFixed方法:
function takePercentage(x,y){
     return ((x /y) * 100).toFixed(2);
}

请注意,toFixed 在 IE 中无法对数字进行四舍五入,这可能会与浮点数不精确性相结合,导致意外的结果。 - bobince

2
function takePercentage(x,y){
     n = (x /y) * 100;
     return n.toPrecision(2);
}

应该就这样了!


2
这不是正确的。例如,99.345.toPrecision(2)会产生“99”。 - Scott Evernden
toPrecision返回保留有效数字位数的四舍五入后的数字,例如:123.456.toPrecision(3) == 123;123.456.toPrecision(2) == 120;123.456.toPrecision(4) == 123.5; 更多信息请参见:http://is.gd/3zchw,如果您不使用var语句声明n,则n将被全局声明。 - Christian C. Salvadó

2
这个怎么样:
Math.round( myfloatvalue*100 ) / 100

这适用于使用Google可视化API生成表格,而“toFixed(2)”则不起作用。 - Hellnar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接