由於JS浮點數運算后,會出現多出靈后位數的情況,比如6.0000000001,需要把這個數截取一下才可以放到元素里面正確6.00這樣的顯示。
JS保留兩位小數
對於一些小數點后有多位的浮點數,我們可能只需要保留2位,但js沒有提供這樣直接的函數,所以我們得自己寫函數實現這個功能,代碼如下:
// 功能:將浮點數四舍五入,取小數點后2位
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
f_x = Math.round(f_x *100)/100;
return f_x;
}
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1475926) 返回 3.15
js保留2位小數(強制)
對於小數點位數大於2位的,用上面的函數沒問題,但是如果小於2位的,比如:
changeTwoDecimal(3.1),將返回 3.1,如果你一定需要3.10這樣的格式,那么需要下面的這個函數:
// 功能:將浮點數四舍五入,取小數點后2位,如果不足2位則補0,這個函數返回的是字符串的格式
function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
f_x = Math.round(f_x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0)
{
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2)
{
s_x += '0';
}
return s_x;
}
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1) 返回 3.10