用javascript实现浮点数的截取小数位数,并四舍五入
来源:互联网 发布:淘宝为什么没有西瓜刀 编辑:程序博客网 时间:2024/04/28 04:46
以前做过一个,没考虑四舍五入,现在把代码改进了一下,如下:
/***********************************************************
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
}
...{
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实现浮点数的截取小数位数,并四舍五入
- 截取浮点数的小数位数
- 实现浮点数的四舍五入RoundOff,保留几位小数
- JavaScript中浮点数的保留小数位数的问题
- C语言printf(""),浮点数打印保留有效位数,小数部分的四舍五入
- 获得一个浮点数的小数位数
- 浮点数取小数点后几位并对小数四舍五入
- javascript四舍五入--保留小数位数
- javascript 保留小数位数,四舍五入
- Java实现浮点数的四舍五入,保留几位小数(未测试)
- js对浮点数进行四舍五入,按需要保留小数位数
- javascript中的对浮点数保留小数的截取及1.5新增函数
- 各语言对浮点数的截取&四舍五入等操作
- 浮点数四舍五入保留2位小数
- 一种浮点数控制小数位数的方法
- 截取浮点数小数点后指定位数的一种做法
- 小数的四舍五入实现
- Format用法
- 如何写robots.txt?
- java经典网摘
- Java图形程序中的对话逐字显示实现
- NT平台拨号连接密码恢复原理
- 用javascript实现浮点数的截取小数位数,并四舍五入
- 什么是搜索引擎注册?新网站如何进行搜索引擎注册?
- Delphi的四舍五入函数
- SOA - 国产厂商的又一个机会
- 办公室文化
- 内存操作函数全集 Linux C
- 写好代码的五个要素
- 常用数学函数全集 Linux C
- 数据库防下载之nodown字段插入方法