一、数值转换
数值转换时使用的转换函数:Number()、parseInt()、parseFloat()
1、Number()函数的转换规则:适用于任何数据类型。
boolean值 true和false分别被转换为 1 和 0;
数值只是简单的传图和返回;
null转换为 0;
undefined转换为 NaN;
目标是字符串时的转换规则:
字符串中只包含数字,将其转换为十进制数值,前导0会被忽略(包括了八进制的转换,因为八进制是有前导0和其他0-7的数字组成);
字符串中包含有效浮点值,转换为对应的浮点数;
字符串中包含有效的十六进制数,会转换为相等的十进制数值;
空字符串转换为0;
2、parseInt()转换函数,专用于字符串
的转换规则:
这种转换方法主要是用来转换字符串,parseInt会会略字符串前面的空格字符得到结果的第一个字符不是数字字符和负号(-),将返回NaN。
parseInt()可以接受两个参数,第一个值表示要进行转换的值,第二个表示转换的方式(十进制、十六进制、或者八进制格式)。当没有第二个参数时,默认转换为十进制。
3、parseFloat()转换方法,该方法会始终忽略前导0且只有一个小数点有效,如果小数点之后只有数字0,将会返回整数。
二、Number类型的其他方法
toFixed()自动四舍五入,接受一个参数,表示返回值的小数位数。
toExponential()以指数表示法返回字符串。
toPrecision(),自动选择合适的表示方法。
注:这三个方法都会返回字符串。
三、其他
isNaN()可以确定给定的值是否为数值,该函数会转换传入的值,其确定是否可以转换位数字。
isFinite()可以测试数值是否在浏览器支持的数据范围内。
浮点数的最高精度是17位小数,不要测试(0.1+0.2 == 0.3)