当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Number对象常用的toFixed()方法

Javascript
javascript 图片放大效果函数
javascript 随机抽奖程序代码
JavaScript 读取图片实例代码
JQuery toggle使用分析
jQuery html()等方法介绍
jquery中的$(document).ready()与window.onload的区别
JS获取dom 对象 ajax操作 读写cookie函数
ExtJS Window 最小化的一种方法
div移动 输入框不能输入的问题
js trim函数 去空格函数与正则集锦
js url传值中文乱码之解决之道
页面版文本框智能提示JS代码
ExtJS的FieldSet的column列布局
Jquery中增加参数与Json转换代码
ExtJS Grid使用SimpleStore、多选框的方法
javascript实现拖拽并替换网页块元素
javascript 设置文本框中焦点的位置
面向对象的编程思想在javascript中的运用上部
javascript call方法使用说明
javascript instanceof 与typeof使用说明

Javascript 中的 Number对象常用的toFixed()方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 319 ::
收藏到网摘: n/a

与String对象类似,我们需要先创建一个Number对象,然后才能使用Number对象的各种方法和属性。要创建一个Number对象,可以使用如下代码:

var firstNumber = new Number(123);

var secondNumber = new Number('123');

然而,也可以声明一个基本数据类型的数值,然后把它作为一个Number对象使用。JavaScript将自动实现从数值到Number对象的转换:

var myNumber = 123.765;

与String对象类似,只要JavaScript能推断出需要转换的对象类型,JavaScript就能在后台自动地实现从基本类型到对象类型的转换。例如对于如下代码:

var myNumber = "123.567";

JavaScript能正确地推断出这是一个字符串类型,而不是一个数值类型。因此,不能使用Number对象的任何方法。

下面将介绍Number对象的一个最常用的方法—— toFixed()方法。

toFixed()方法

toFixed()方法是JavaScript 1.5和JScript 5.5中新加入的方法,因此,仅在Netscape 6+或IE 5.5+浏览器中支持。该方法用于截取指定小数点位数的数字。下面用一个计算营业税的例子来说明。假如某个商品的价格是9.99美元,而营业税是7.5%,因此加上营业税之后的价格将是10.73925美元。然而,对于货币交易来说这个值是有问题的—— 需要将税后价格截取到小数点之后的两位数即可。下面是一个例子:

var itemCost = 9.99;

var itemCostAfterTax = 9.99 * 1.075;

document.write("Item cost is $" + itemCostAfterTax + "<br>");

itemCostAfterTax = itemCostAfterTax.toFixed(2);

document.write("Item cost fixed to 2 decimal places is " + itemCostAfterTax);

第一个document.write()语句将在页面上输出如下信息:

Item cost is 10.73925

但是,这并不是我们需要的格式,我们只需要输出到小数点之后的两位数,所以在下面这行代码中使用了toFixed()方法截取小数点之后的两位数字:

itemCostAfterTax = itemCostAfterTax.toFixed(2);

这里使用了Number对象的toFixed()方法,将变量itemCostAfterTax中的值截取至小数点后的两位。toFixed()方法只有一个参数,就是我们希望截取的小数点的位数。截取到小数点之后的两位数,则第二个document.write()语句将在页面上输出如下信息:

Item cost fixed to 2 decimal places is 10.74

也许你会感到奇怪,为什么截取的结果是10.74而不是10.73呢?toFixed()方法不仅仅截去多余的小数位,同时它还根据截取位置的下一个小数位进行四舍五入。例如,对于数值10.739,截取到小数点后的两位数,结果将是10.74。而对于数值10.732,截取到小数点后的两位数,结果将是10.73。

注意,在JavaScript中我们只能截取小数点之后0位~20位的小数。

toFixed()方法仅被高版本的浏览器所支持,所以在使用之前最好先检查一下浏览器是否支持该方法,检查的代码如下所示:

var varNumber = 22.234;

if (varNumber.toFixed)

{

// Browser supports toFixed() method

varNumber = varNumber.toFixed(2)

}

else

{

// Browser doesn’t support toFixed() method so use some other code

var div = Math.pow(10,2);

varNumber = Math.round(varNumber * div) / div;

}