首页 > 开发 > 综合 > 正文

Number对象常用的toFixed()方法

2024-07-21 02:04:29
字体:
来源:转载
供稿:网友

与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;

}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表