数值与Number
数值
js中数值特点:
不区分整数值和浮点数值。
所有数值均用浮点数值表示。
整数直接量
除十进制外,JavaScript能识别十六进制(以0x或0X为前缀)、二进制(以0b或0B为前缀)和八进制(以0o或0O为前缀)。
如:0xff ->255,0b1001 -> 9,0o12 ->10。
浮点数直接量
实数写法:由整数部分、小数点和小数部分组成。
如:3.1415
指数记数法:在实数部分后跟字母e或E,再跟正负号,在跟一个整型的指数。
如:4.1e12 -> 4.1×10^12,1.44E-8 -> 1.44×10^-8
数值转换
JavaScript提供了3个函数可将非数值转换为数值。
Number( )转化为数值型
parseInt( )转化为整形
parseFloat( )转化为浮点数
Number
创建一个number对象的构造函数。
如:let num=new Number(3);
常用方法:
toString( ),返回数值对象的字符串表示。
如:num.toString( );
num.toString(35);
toLocaleString( ),返回数值对象的字符串本地表示。
如:num=new Number(12356); num.toLocaleString( );
valueOf( ),返回数值对象的原始数值。
如:num.valueOf( );
toFixed(n),返回包含指定小数位数的数值字符串。其中,n表示小数位数。
如:num.toFixed(2); num=new Number(10.005); num.toFixed(2);
toExponential(n),返回科学记数法表示的数值字符串。其中,n表示结果中的小数的位数。
如:num=123;num.toExponential(1); num.toExponential(3);
toPrecision(n),返回数值最恰当的形式。其中,n表示结果中数字的总位数(不包含指数)。
如:num=9;num.toPrecision(1); num.toPrecision(2);
Number.isFinite( )
用于检查一个数值是否有限的(finite)。如果参数类型不是数值,一律返回false。
Number.isNaN( )
用于检查一个是否为NaN。如果参数类型不是NaN,一律返回false。
Number.isInteger( )
用于判断一个数值是否为整数。如果参数不是数值,返回false。
Math对象
常用方法
1、min( )与max( )可以接收任意多个参数。
2、Math.ceil( ),始终向上舍入为最接近的整数。
3、Math.floor( ),始终向下舍入最接近的整数。
4、Math.round( ),执行四舍五入。
5、Math.fround( ),放回数值最接近的单精度(32位)浮点数表示
6、random( )返回一个0~1之间的随机数,其中包含0但不包含1。
7、Math.trunc( )用于去除一个数的小数部分,返回整数部分。
对于非数值,其内部会先使用Number( )转换为数值再操作。
对于空值和无法截取整数的值,返回NaN。
8、Math.sign( )用于判断一个数是正数、负数还是零。
对于非数值,先将其转换为数值在判断。
返回值
正数:+1;负数:-1;
0:0;-0:-0;
其他值:NaN