您的位置:首页 > Web前端 > JavaScript

用javascript实现浮点数的截取小数位数,并四舍五入

2008-05-01 06:23 771 查看
以前做过一个,没考虑四舍五入,现在把代码改进了一下,如下:

/***********************************************************

function formatnumber(value,num)

written by zergling

javascript版本的formatnumber函数,用法与vbscript相同,第一个参数是待格式化的数值,第二个是保留小数位数

注意:返回的是字符串类型

第一个函数需要调用第二个函数,所以第二个不能去掉

***********************************************************/

function adv_format(value,num) //四舍五入

{

var a_str = formatnumber(value,num);

var a_int = parsefloat(a_str);

if (value.tostring().length>a_str.length)

{

var b_str = value.tostring().substring(a_str.length,a_str.length+1)

var b_int = parsefloat(b_str);

if (b_int<5)

{

return a_str

}

else

{

var bonus_str,bonus_int;

if (num==0)

{

bonus_int = 1;

}

else

{

bonus_str = "0."

for (var i=1; i<num; i++)

bonus_str+="0";

bonus_str+="1";

bonus_int = parsefloat(bonus_str);

}

a_str = formatnumber(a_int + bonus_int, num)

}

}

return a_str

}

function formatnumber(value,num) //直接去尾

{

var a,b,c,i

a = value.tostring();

b = a.indexof('.');

c = a.length;

if (num==0)

{

if (b!=-1)

a = a.substring(0,b);

}

else

{

if (b==-1)

{

a = a + ".";

for (i=1;i<=num;i++)

a = a + "0";

}

else

{

a = a.substring(0,b+num+1);

for (i=c;i<=b+num;i++)

a = a + "0";

}

}

return a

}

<
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: