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

Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
javascript(jquery)利用函数修改全局变量的代码
JQuery 解析多维的Json数据格式
javascript 按回车键相应按钮提交事件
深入认识javascript中的eval函数
jquery tree 可编辑节点实现代码(jquery一句话节点菜单)
js window.onload 加载多个函数的方法
MAC官方菜单纯CSS实现灰色会换色
CSS Filter背景透明提示
CSS鼠标悬停菜单 图片交换技术实现
纯JS图片批量预加载技术代码
实用的层滑开js实现代码
jQuery get和post 方法传值注意事项
JQuery打造PHP的AJAX表单提交实例
Jquery AJAX 框架的使用方法
基于JQuery框架的AJAX实例代码
jquery ajax 检测用户注册时用户名是否存在
javascript 限制输入脚本大全
JavaScript window.setTimeout() 的详细用法
JavaScript 表格高亮类的应用[高级]

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


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

}