类型声明
var a = 10; //整数
var a = 1.2; //小数
创建对象
var num = new Number(value) //构造函数
var num = Number(value) //转换函数
参数
value:要创建的Number对象的数值,或是要转换成数字的值
返回值
1.当Number()和运算符new一起作为构造函数使用时,它返回一个新创建的Number对象
2.如果不用new运算符,把Number()作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,这返回NaN)
转为数字类型的方式
var a = '100.05'
//①将字符串转为数字
var n = a*1
//②将字符串转为整数
var n = parselnt(a)
//③将字符串转为数字
var n = +a
属性
constructor:返回对创建此对象的Number函数的引用
var num = 123
var con = num.constructor //function Number(){[native code]}
prototype:允许向对象添加属性和方法
var num = 123
num.prototype.name = 'abc'
num.prototype.run = function(){}
MAX_VALUE:最大的数
var num = Number.MAX_VALUE //1.7976931348623157e+308
MIN_VALUE:最小的数
var num = Number.MIN_VALUE //5e-324
NaN:非数字值
var num = Number.Nan //NaN
NEGATIVE_INFINITY:负无穷大,溢出时返回该值
var num = Number.NEGATIVE_INFINITY //-Infinity
POSTIVE_INFINITY:正无穷大,溢出时返回该值
var num = Number.NEGATIVE_INFINITY //Infinity
EPSILON:表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别
var num = Number.EPSILON //2.220446049250313e-16
MIN_SAFE_INTEGER:在 JavaScript中最小的安全的 integer 型数字
var num = Number.MIN_SAFE_INTEGER //-9007199254740991
MAX_SAFE_INTEGER:在 JavaScript 中最大的安全整数
var num = Number.MAX_SAFE_INTEGER //9007199254740991
方法
toString():把数字转换为字符串,使用指定的基数
语法
NumberObject.toString(radix)
参数
radix:可选。规定表示数字的基数,使2~36之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则ECMAScript标准允许实现返回任意值
返回值
数字的字符串表示。
注意
var num = 123
var num = num.toString() //123
var num = num.toString(2) //1111011
valueOf():返回一个Number对象的基本数字值
语法
NumberObject.valueOf()
返回值
NumberObject的原始数值
注意
var num = 123
var num = num.valueOf() //123
toFixed():把数字转换为字符串,结果的小数点后有指定位数的数字
语法
NumberObject.toFixed(num)
参数
num:必需。规定小数的位数,是0~20之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替
返回值
返回NumberObject的字符串表示,不采用指数计数法,小数点后有固定的num位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果num大于 le+21,则该方法只调用NumberObject.toString(),返回采用指数计数法表示的字符串
注意
1.当num太小或太大时抛出异常RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值
2.当调用该方法的对象不是Number时抛出TypeError异常
var num = 123
var num = num.toFixed(2) //123.00
var num = num.toFixed(5) //123.00000
toLocaleString():把数字转换为字符串,使用本地数字格式顺序
语法
NumberObject.toLocaleString()
返回值
数字的字符串表示,由实现决定,根据本地规范进行格式化,可能影响到小数点或千分位分隔符采用的标点符号
注意
var num = 123
var num = num.toLocaleString() //123
toExponential():把对象的值转换为指数计数法
语法
NumberObject.toExponential(num)
参数
num:必需。规定小数的位数,是0~20之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字
返回值
返回NumberObject的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有num位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度
注意
1.当num太小或太大时抛出异常RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值
2.当调用该方法的对象不是Number时抛出TypeError异常
var num = 123
var num = num.toExponential(0) //1e+2
var num = num.toExponential(5) //1.23000e+2
var num = num.toExponential(20) //1.23000000000000000000e+2
toPrecision():把数字格式化为指定的长度
语法
NumberObject.toPrecision(num)
参数
num:规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值
返回值
返回NumberObject的字符串表示,包含num个有效数字。如果num足够大,能够包括NumberObject整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有num-1位数字。必要时,该数字会被舍入或用 0 补足
注意
1.当num太小或太大时抛出异常RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值
2.当调用该方法的对象不是Number时抛出TypeError异常
var num = 123
var num = num.toPrecision(1) //1e+2
var num = num.toPrecision(5) //123.00
var num = num.toprecision(21) //123.000000000000000000
Number.isFinite():检测指定参数是否为无穷大
语法
const bool = Number.isFinite(value)
参数
value:必需。要检测的值
返回值
如果是有限数字返回true,否则返回false
const bool = Number.isFinite(123) //true
const bool = Number.isFinite('2020/12/12') //false
const bool = Number.isFinite(Infinity) //false
Number.isInteger():判断指定的参数是否为整数
语法
const bool = Number.isInteger(value)
参数
value:必需。要检测的值
返回值
如果是有限数字返回true,否则返回false
const bool = Number.isInteger(123) //true
const bool = Number.isInteger(12.25) //false
Number.isSafeInteger():判断传入的参数值是否是一个“安全整数”,安全整数范围为 -(2<sup>53</sup> - 1)到 2<sup>53</sup> - 1 之间的整数,包含 -(2<sup>53</sup> - 1)和 2<sup>53</sup> - 1
语法
const bool = Number.isSafeInteger(value)
参数
value:必需。要检测的值
返回值
如果是有限数字返回true,否则返回false
const bool = Number.isSafeInteger(10) //true
const bool = Number.isSafeInteger(12345678901234567890) //false