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

 以前做过一个,没考虑四舍五入,现在把代码改进了一下,如下:

/***********************************************************
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
= value.toString();
= a.indexOf('.');
= a.length;
if (num==0)
{
if (b!=-1)
= a.substring(0,b);
}

else
{
if (b==-1)
{
= a + ".";
for (i=1;i<=num;i++)
= a + "0";
}

else
{
= a.substring(0,b+num+1);
for (i=c;i<=b+num;i++)
= a + "0";
}

}

return a
}

注:来源于网络,作者不详!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值