用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
}
<
/***********************************************************
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
}
<
相关文章推荐
- 用javascript实现浮点数的截取小数位数,并四舍五入
- JavaScript基础 toFixed() 将一个数值转成字符串,并进行四舍五入,保留指定位数的小数
- javascript 强制截取小数 实现方法
- JavaScript基础 toFixed() 将一个数值转成字符串,并进行四舍五入,保留指定位数的小数
- JavaScript中实现四舍五入后保留小数的方法
- javascript 保留小数位数,四舍五入
- Java实现浮点数的四舍五入,保留几位小数(未测试)
- 截取浮点数的小数位数
- 自己写个类实现对小数的四舍五入,保留相应的位数
- javascript四舍五入--保留小数位数
- Java实现浮点数的四舍五入,保留几位小数
- 浮点数四舍五入保留2位小数
- PHP取整,四舍五入取整、向上取整、向下取整、小数截取
- js四舍五入保留2位小数的位数。
- sql server数据库实现保留指定位数小数的函数
- javascript实现保留两位小数的多种方法
- javascript小数四舍五入
- PHP取整,四舍五入取整、向上取整、向下取整、小数截取
- js数据类型转换 (附一个截取浮点数并四舍五入的实例)
- C# 四舍五入 进一法 直接取整 带小数位数