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

Javascript
动态生成select选项全接触
不刷新页面动态更新select选项,实现两个select相互操作
网页输入框日期型有效性判定一网打尽
实用Javascript函数之一(自动将输入文本框中的内容转换成大写字符)
实用Javascript函数之二(自动将输入文本框中的内容转换成小写字符)
实用Javascript函数之三(限制文本输入框中只能输入数字\"0\"到\"9\")
实用Javascript函数之四(用于对sString字符串进行前空格截除)
实用Javascript函数之五(用于对sString字符串进行后空格截除)
实用Javascript函数之六(截除字符串前后空格)
如何使用交替的滚动标题
采用DOM模型时创建一个Select节点后,要删除option项的解决方法
javascript函数速查
利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
关于字符串的几个有用函数
FileSystemObject 的例子(处理驱动器、文件夹、文件)
用JScript实现VB.Net,C#的[委托Delegate]:
得到固定字符位置的函数
IE NC通用的藏鼠标右键一法
Menu
foolpot2001菜单

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 159 ::
收藏到网摘: 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;

}