JS处理四舍五入函数 toFixed(n)(可取小数点后n位)

时间:2022-02-28 03:48:54

在JS中四舍五入的函数 toFixed(n) , n为要保留的小数位数。 n为0~20,当n超过20的时候,JS会出错。

如果小数点前和要截取的前一位都是0时,不会按常理截取。
       var h=0.07
       h.toFixed(1)的值为0.0

其实要解决这个问题,原来是不一定要重写js中的Number类型的toFixed方法的。
一个非常牛的同事,想到了一个他说很笨,但是我觉得很牛的方法。
JS的API上说, 截取的位数前至少要有一位不是0的。
于是,他这个很笨却很牛的方法是:使用toFixed方法之前加1,使用之后再减去1。

     var num = 0.007;//要四舍五入的数字
var fixNum = new Number(num+1).toFixed(2);//四舍五入之前加1
var fixedNum = new Number(fixNum - 1).toFixed(2);//四舍五入之后减1,再四舍五入一下
alert(fixedNum);//弹出的数字就是正确的四舍五入结果啦

方法二:

下面的脚本是重写了toFixed(),这样0.056就可以转化到0.1了

 Number.prototype.toFixed=function(len)
{
var add = 0;
var s,temp;
var s1 = this + "";
var start = s1.indexOf(".");
if(s1.substr(start+len+1,1)>=5)add=1;
var temp = Math.pow(10,len);
s = Math.floor(this * temp) + add;
return s/temp;
}

文章来自:http://blog.csdn.net/nuptsv_ice/article/details/10493659

JS处理四舍五入函数 toFixed(n)(可取小数点后n位)的更多相关文章

  1. js控制input只能输入数字和小数点后两位,输入其他自动清除方法。

    工作中input='text'总会遇到要控制输入数字,或者是输入中文,输入电话,输入身份证号,邮箱等.今天我遇到的是要输入数字并且只能小数点后面两位的数字,还不能为负数.废话不多说上代码: <i ...

  2. js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数。

    js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数. <script language="javascript"> document.write(& ...

  3. js除法四舍五入保留小数点后两位写法

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  4. js保留小数点后N位的方法介绍

    js保留小数点后N位的方法介绍 利用toFixed函数 代码如下 复制代码 <script language="javascript"> document.write( ...

  5. 实现js保留小数点后N位的代码

    在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数 <script language="javascript"> document.write(&quo ...

  6. js截取小数点后几位的写法

    截取小数点后几位的方法有很多,下面为大家介绍下使用js是如何实现的 如果${showInfo.tt}的值为20,要要它除以10以后精确到小数点后2位,那么js代码中可作如下写法:  复制代码 代码如下 ...

  7. Js验证 :只能输入数字和小数点 验证是否是数字 js取float型小数点后两位

    JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'') ...

  8. php number&lowbar;format&lpar;&rpar;保留小数点后几位有效数的函数 千位分组来格式化数字&lpar;转&rpar;

    PHP保留小数点后2位的函数number_format number_format(带小数点的书,小数点后保留的位数) number_format(8.3486,2);  //取得小数点后2位有效数/ ...

  9. JAVA如何把一个float四舍五入到小数点后2位&comma;4位&comma;或者其它指定位数&period;

    怎么使float保留两位小数或多位小数 http://meryvn.blog.163.com/blog/static/36962664201173010402629/ 两种方法: import   j ...

随机推荐

  1. IndexedDB(本地存储)

    var students = [{ id: 1001, name: "Byron", age: 24 }, { id: 1002, name: "Frank", ...

  2. 我的页面定制CSS代码(SimpleGamboge皮肤)

    我的页面定制CSS代码,针对博客园SimpleGamboge皮肤. 调整: 1.左上图片更换为自己的头像 2.扩大左侧栏宽度,缩小右侧主栏宽度宽度 3.扩大内容页面的评论区宽度,工具图标靠左 4.去广 ...

  3. php 共享内存

    共享内存主要用于进程间通信 php中的共享内存有两套扩展可以实现 1.shmop  编译时需要开启 --enable-shmop 参数 实例: $shm_key = ftok(__FILE__, 't ...

  4. Bzoj 1726&colon; &lbrack;Usaco2006 Nov&rsqb;Roadblocks第二短路 dijkstra&comma;堆&comma;A&ast;&comma;次短路

    1726: [Usaco2006 Nov]Roadblocks第二短路 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 969  Solved: 468[S ...

  5. REVERSE关键字之REVERSE索引

    昨天说到REVERSE关键字可以指REVERSE函数和REVERSE索引,简单介绍了下REVERSE函数的含义,今天简单整理下REVERSE索引. REVERSE索引也是一种B树索引,但它物理上将按照 ...

  6. Oracle EBS-SQL &lpar;INV-5&rpar;&colon;检查期间拉式物料领用记录数&period;sql

    select         FU.description                                  操作者,         KK.DESCRIPTION           ...

  7. zkw模板

    水平有限,前缀和的前缀和什么的,rbq 两个操作: 1.区间l到r加上一个数x 2.查询区间[l,r]的区间和 #include<iostream> #include<cstdio& ...

  8. win8系统下&comma;python 2&period;7安装xlrd&comma;xlutils和xlwt的方法

    一.先到python的官网上下载压缩包 二.将压缩包解压 三.将打开cmd,进入到解压文件所在的位置 四.键入 python setup.py install

  9. bond绑定两张物理网卡为一张逻辑网卡

    问题:cnetos7同时接入两个独立网络,但两个网络的IP网段相同时只能路由到一个网络 解决方法:使用bond绑定两张物理网卡为一张逻辑网卡 1.新建文件bond.conf,内容如下 alias bo ...

  10. 网关绑定命令&comma;解决arp攻击

    一般家里的宽带都采用ADSL设备,通过固定IP地址接入Internet,但是经常会出现断网的现象,那么如何通过ARP命令绑定默认网关来解决这个问题呢? 工具/原料 ARP命令 CMD命令提示符 方法/ ...