JavaScript只有一种数字类型。可以使用也可以不使用小数点来书写数字。
JavaScript数字:JavaScript不定义不同类型的数字,比如整数、短、长、浮点等等,所有的JavaScript数字均为64位,所有数字都是由浮点型类型,最大值为±1.7976931348623157 x 10308,最小值为±5 x 10 -324
精度:整数(不使用小数点或指数计数法)最多为15位。小数最大位数是17,但浮点运算并不总是100%准确,
八进制:前缀为0 ; 十六进制: 前缀为0x则为十六进制数。
无穷大(Infinity)当数字运算超过JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地。当负数的值超过了JavaScript所能表示的负数范围结果为无穷大,在JavaScript中以-infinity表示。无穷大值得特性和我们所期望的是一致的。
检测参数是否为无穷大:JavaScript Number.isFinite()函数检测的值如果是有限数字返回true,否则返回false
var test = 100/0; var num = 101
res = Number.isFinite(test) 结果false res = Number.jsFinite(num); 结果true
NaN - 非数字值
NaN属性代表非数字值的特殊值,该属性用于只是某个值不是数字,可以使用isNaN()全局函数来判断一个值是否是NaN值。
例: var x = 1000/"Apple"; isNaN(x) 结果是true 同样0/0也会出现 true,
数字方法:
toExponential()
toFixed()
toPrecision()
toString()
valueOf()
上述五种方法其上四种都是String类型,而valueOf()和你的源数据类型有关
指数是幂运算aⁿ(a≠0)中的一个参数,a为底数,n为指数,指数位于底数的右上角,幂运算表示指数个底数相乘。当n是一个正整数,aⁿ表示n个a连乘。当n=0时,aⁿ=1。
toExponential() 方法可把对象的值转换成指数计数法。
let x = 293042; let num = x.toExponential() 计算结果:2.93042e+5
let y = 2.93042;let number = y.toExponential() 计算结果 2.93042e+0
小括号是取小数点后几位的位数,可选,规定指数计数法中的小数位数,是0-20之间的值,包括0和20。
例:let x = 293042; let num = x.toExponential(2) 计算结果:2.93e+5
let y = 2.93042;let number = y.toExponential(3) 计算结果 2.930e+0
JavaScript toFixed()方法
将数字转换为字符串,结果的小数点后有指定位数的数字
例:let x=23.53453; let num = x.toFixed(2) 计算结果:23.53
JavaScript toPrecision()方法:将数字格式化为指定的长度,当对象的值超过指定位数时将其转换为指数计数法
例:未超出 let x = 12.23432; let num = x.toPrecision(2) 计算结果:12
超出 let y = 122.3432; let number = y.toPrecision(2) 计算结果:1.2e+2
JavaScript toString()方法
将数字转换为字符串
let num = 15; var n =typeof num.toString(); 计算结果:String
JavaScript valueOf()方法
valueOf()方法可返回String对象的原始值。
例:
var str = "Hello world!"; var num = 12;
document.write(str.valueOf()); 输出结果:Hello world!
document.write(typeof str.valueOf()); 输出结果:string
document.write(num.valueOf()); 输出结果:12
document.write(typeof num.valueOf()); 输出结果:number