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