JavaScript中Number对象的toFixed() 方法详解

定义和用法

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

语法

NumberObject.toFixed(num) 参数 描述

num 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

返回值

返回 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

以上这篇JavaScript中Number对象的toFixed() 方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2016-09-01

js toFixed()方法的重写实现精度的统一

但凡用过js 中的toFix() 方法的, 应该都知道这个方法存在一个小小的BUG. 在IE 下和FF 下对于小数的进位有点不同. 例如( 0.005)在ie 下 toFix(2)=0.00. 在FF 下 toFix(2)=0.01. 这样就会造成数据的差异. 我们可以通过 重写 这个方法来实现精度的统一. 复制代码 代码如下: Number.prototype.toFixed = function(s) { return (parseInt(this * Math.pow( 10, s ) +

Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法

前言 在公司项目中涉及到一个有大量浮点数价格计算的模块,从而引发了我一系列的思考: 计算机二进制环境下浮点数的计算精度缺失问题; console.log(.1+.2); 0.30000000000000004 为了解决上述问题,使用了toFixed方法却出现了浮点数小数位以5结尾的四舍五入错误问题; var num = 0.045; console.log(num.toFixed(2)); 0.04 以此为起点,引发了我关于toFixed的一系列探索,终于找到了一些有用的信息,toFixed使用

javascript之对系统的toFixed()方法的修正

0.009.toFixed(2)本该返回0.01的结果,可它却返回了一个0.00,这是这个方法的一个BUG,且这个方法对客户端的JS版本要求有点偏高,至少在IE5.0里这个方法用不起来,所以我写了上面的一段修正代码,并且还解决了这个BUG的问题.若是想完全使用这个自定义的方法替代那个有BUG的系统方法的话,只需要去掉最外层的那个 if 判断就可以了. //by meizz if(typeof(Number.prototype.toFixed)!="function") { Number

javascript中的toFixed固定小数位数 简单实例分享

[code]<script> var a=4.2343; alert(a.toFixed(3)); </script> <script>var a=4.2343;alert(a.toFixed(3));</script>执行结果: toFixed方法将一个数字转换成一个拥有固定小数位数的字符串.

Javascript中 toFixed四舍六入方法

javascript中toFixed使用的是银行家舍入规则. 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法. 简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一.但是不论引入toFixed解决浮点数计算精度缺失的问题也好,它有没有使用银行家舍入法也罢,都是为了解决精度的问题,但是又离不开二进制浮点数的环境,但至少他帮助我们找到了问题所在,从而让我们有解决方法. Number.prototype.toFixed = fu

js保留两位小数使用toFixed实现

Math.round(x*100)/100,当然我要的是Math.round(x*100),这没有关系.但直接使用Math.round(x*100)存在一个问题,有时会有很小的误差,显示很多位的小数位,如0.9996*100,就会变成99.96000000000001,这不是我想要的. 查找javascript的功能,number类型有一个toFixed()函数,测试: 复制代码 代码如下: alert((0.9996*100).toFixed(2)); 使用Number.toFixed()可以

JS中toFixed()方法引起的问题如何解决

最近发现JS当中toFixed()方法存在一些问题,采用原生的Number对象的原型对象上的toFixed()方法时,规则并不是所谓的"四舍五入"或者是"四舍六入五成双",所谓"四舍六入五成双",在百度百科上给的解释是:也即"4舍6入5凑偶"这里"四"是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1:当5后无有效数字时,

JavaScript toFixed() 方法

定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num)num 必需.规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围.如果省略了该参数,将用 0 代替. 返回值 返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字.如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度.如果 num 大于 le+21,则该

分享Javascript实用方法二

JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能. 承接上一篇, Object keys object的keys方法能够获取一个给定对象的所有键(key/属性名)并以数组的形式返回.这个方法可以用于键的筛选.匹配等. var basket = { strawberry: 12,

JavaScript正则方法replace实现搜索关键字高亮显示

前言 正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么说都离不开它. 这里介绍的是JavaScript的正则表达式的replace方法 ,和实现搜索关键字高亮的功能. 先介绍一下正则表达式的replace方法 replace介绍 w3school原文链接介绍 正则表达式如何使用特殊字符$来表示原来的文本,这是实现搜索高亮的关键, var str = "asad sad 123 sd qwe21"; str.replace(/\d+/img,"数

javascript另类方法实现htmlencode()与htmldecode()函数实例分析

本文实例讲述了javascript另类方法实现htmlencode()与htmldecode()函数.分享给大家供大家参考,具体如下: 最常见的做法是采用正则表达式替换的方法,将特殊字符如 < > & 等进行替换,htmlencode的时候这样替换还比较容易,但发过来htmldecode的时候就不一定好用了,因为需要反转的情况很多,出了常见的<>&以外,还有 ©"®等数十个字符实体,还有AB中文或者中文之类以字符的Unicode编码的十进制或16进制表示的

JS 在数组插入字符的实现代码(可参考JavaScript splice() 方法)

复制代码 代码如下: Array.prototype.ArrayInsertAfter=function(Num,obj) { var tempArr=new Array(); var l=this.length; for(var i=0;i<l;i++) { tempArr.push(this.shift()); } l=tempArr.length; for(var i=0;i<l;i++) { this.push(tempArr.shift()); if(i==Num) { this.p

JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)

JavaScript charCodeAt 方法 charCodeAt 方法用于从字符串中取得指定位置字符的 Unicode 编码.其语法如下: 复制代码 代码如下: str_object.charCodeAt( x ) 参数说明: 参数 说明 str_object 要操作的字符串(对象) x 必需.表示位置的数字 提示:字符串是从 0 开始计数的. charCodeAt 方法实例 复制代码 代码如下: <script language="JavaScript"> docu

JavaScript数组方法大全(推荐)

数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,下面小编给大家整理了关于数组的操作方法,一起看看吧. 数组创建 JavaScript中创建数组有两种方式,第一种是使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = new Array(20); // 创建一个包含20项的数组 var arr3 = new Array("lily","lucy&

JavaScript strike方法入门实例(给字符串加上删除线)

JavaScript strike 方法 strike 方法返回使用 HTML strike 标签属性定义的删除线样式的字符串.其语法如下: 复制代码 代码如下: str_object.strike() 提示:该方法不符合 ECMA 标准,不建议使用. strike 方法实例 复制代码 代码如下: <script language="JavaScript"> var str = "www.jb51.net"; document.write( str.st