js四舍五入(round()方法)并保留小数点后N位的函数
来源:互联网 发布:淘宝上组装电脑 编辑:程序博客网 时间:2024/06/06 17:22
写法巨强的四舍五入的转换函数,如下:
function round(v,e){
var t=1;
for(;e>0;t*=10,e--);
for(;e<0;t/=10,e++);
return Math.round(v*t)/t;
}
参数里的:
v表示要转换的值
e表示要保留的位数
函数里的两个for,这个是重点了,
第一个for针对小数点右边的情况,也就是保留小数点右边多少位;
第二个for针对小数点左边的情况,也就是保留小数点左边多少位。
for的作用,就是计算t的值,也就是v应该放大或者缩小多少倍的倍数(倍数=t)。
for这里利用到了for里的两个特性,条件判断和计数器累计(循环),
当e满足条件时for继续,并且e每次累加(e的每次累加,就是给for制造不满足循环的条件)的同时,也计算t的值。
最后利用了原生的round方法来计算被放大/缩小后的v的结果,然后把结果放大/缩小到正确的倍数
另附JS自带的可以实现此功能的函数toFixed的说明
定义和用法toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把数字舍入为仅有一位小数的数字:
Show the number 13.37 with one decimal: <script type="text/javascript"> var num = new Number(13.37); document.write (num.toFixed(1)) </script>
输出:
Show the number 13.37 with one decimal: 13.4
- js四舍五入(round()方法)并保留小数点后N位的函数
- js四舍五入(round()方法)并保留小数点后N位的函数
- js操作日期(函数,js版的dateAdd与dateDiff,四舍五入(round()方法)并保留小数点后N位的函数)
- js操作日期(函数,js版的dateAdd与dateDiff,四舍五入(round()方法)并保留小数点后N位的函数)
- js操作日期(函数,js版的dateAdd与dateDiff,四舍五入(round()方法)并保留小数点后N位的函数)
- JS中将数字保留小数点后N位的方法
- 保留小数点两位,并四舍五入的函数
- 浮点数按四舍五入保留小数点后n位
- C#中保留小数点后N位的方法
- C#中保留小数点后N位的方法
- C#中保留小数点后N位的方法
- JS四舍五入函数保留小数点*
- 把一个double的数据四舍五入并保留小数点后2位
- C# 小数点后保留两位小数,四舍五入的函数及使用方法
- java 四舍五入 保留小数点后任意位
- 保留小数点后N位
- 保留小数点后n位
- 保留小数点后n位
- zend发送邮件
- STM32 寄存器库和固件库
- com.microsoft.sqlserver.jdbc.SQLServerException:该语句没有返回结果集
- 可编辑的select 框
- pl sql 学习笔记(六)再学动态sql
- js四舍五入(round()方法)并保留小数点后N位的函数
- 在servlet通过xml文件访问properties文件
- xxx
- 项目经验:clear清除浮动样式
- uvalive3942(字典树)
- 一个C源文件到可执行文件 [反汇编-函数栈帧 编译 链接]
- java中的引用类型
- 正则非贪婪匹配 及 容易出现的错误
- USB Class Codes