加入收藏 | 设为首页 |

ope电竞官网-JavaScript中的Number类型

海外新闻 时间: 浏览:158 次

JavaScript中的Number类型

JavaScript中的Number类型

Number 是与数字值对应的引证类型。要创立 Number 目标,能够在调用 Number 结构函数时向其间传递相应的数值。

Number 是与数字值对应的引证类型。要创立 Number 目标,能够在调用 Number 结构函数时向其间传递相应的数值。能够为 toString()办法传递一个表明基数的参数,通知它回来几进制数值的字符串方法。

var num = 10; 
alert(num.toString()); //"10"
alert(num.toString(2)); //"1010"
alert(num.toString(8)); //"12"
alert(num.toString(10)); //"10"
alert(num.toString(16)); //"a"

除了承继的办法之外,Number 类型还供给了一些用于将数值格局化为字符串的办法。 其间,toFixed()办法会依照指定的小数位回来数值的字符串表明 。

var num = 10;
alert(num.toFixed(2)); //"10.00"

这儿给 toFixed()办法传入了数值 2,意思是显现几位小数。所以,这个办法回来了"10.00",即以 0 填补了必要的小数位。假如数值自身包括的小数位比指定的还多,那么挨近指定的最巨细数位的值就会舍入。

var num = 10.005;
alert(num.toFixed(2)); //"10.01"

能够主动舍入的特性,使得 toFixed()办法很合适处理ope电竞官网-JavaScript中的Number类型货币值。但需求留意的是,不同浏览器给 这个办法设定的舍入规矩或许会有所不同。在给 toFixed()传入 0 的情况下,IE8 及之前版别不能正确 舍入规模在{(-0.94,-0.5],[0.5,0.94)}之间的值。关于这个规模内的值,IE 会回来 0,而不是-1 或 1;其他浏览器都能回来正确的值。

toFixed()办法能够表明带有 0 到 20 个小数位的数值。但这仅仅规范完结的范 围,有些浏览器也或许支撑更多位数。

别的可用于格局化数值的办法是 toExponential(),该办法回来以指数表明法(也称 e 表明法) 表明的数值的字符串方法。与 toFixed()相同,toExponential()也接纳一个参数,并且该参数相同也是指定输出成果中的小数位数。

var num = 10;
alert(num.toExponentiaope电竞官网-JavaScript中的Number类型l(1)); //"1.0e+1"

以上代码输出了"1ope电竞官网-JavaScript中的Number类型.0e+1";不过,这么小的数值一般不用运用 e 表明法。假如你想得到表明某个 数值的最合适的格局,就应该运用 toPrecision()办法。

关于一个数值来说,toPrecision()办法或许会回来固定巨细(fixed)格局,也或许回来指数 (exponential)格局;详细规矩是看哪种格局最合适。这个办法接纳一个参数,即表明数值的一切数字的位数(不包括指数部分)。

var num = 99;
alert(num.toPrecision(1)); //"1e+2"
alert(num.toPrecision(2)); //"99"
alert(num.toPrecision(3)); ope电竞官网-JavaScript中的Number类型//"99.0"

以上代码首要完结的使命是以一位数来表明 99,成果是"1e+2",即 100。由于一位数无法精确地 表明 99,因而 toPrecision()就将它向上舍入为 100,这样就能够运用一位数来表明它了。而接下来的 用两位数表明 99,当然仍是"99"。最终,在想以三位数表明 99 时,toPrecision()办法回来了"99.0"。 实际上,toPrecision()会依据要处理的数值决议到底是调用 toFixed()仍是调用 toExponential()。 而这三个办法都能够经过向上或向下舍入,做到以最精确的方法来ope电竞官网-JavaScript中的Number类型表明带有正确小数位的值。

toPrecision()办法能够体现 1 到 21 位小数。某些浏览器支撑的规模更大,但 这是典型完结的规模。

与 Boolean 目标相似,Number 目标也以后台方法为数值供给了重要的功用。但与此同时,咱们依然不主张直接实例化 Number 类型,而原因与显式创立 Boolean 目标相同。详细来讲,就是在运用 typeof 和 instanceof 操作符测验根本类型数值与引证类型数值时,得到的成果彻底不同。

var numberObject = new Number(10);
var numberValue = 10;
alert(typeof numberObject); //"object"
alert(typeo万里f numberValue); //"number"
alert(numberObject instanceof Number); //true
alert(numberValue instanceof Number); //false

在运用 typeof 操作符测验根本类型数值时,始终会回来"number",而在测验 Number 目标时, 则会回来"object"。相似地,Number 目标是 Number 类型的实例,而根本类型的数值则不是。