手动将各类型 转换成 数字类型 JS提供了三种方法:
Number(object);
parseInt(string, radix);
parseFloat(string, radix).
三种方法具体的用法如下表格所示:
Number(object)
方法 | 例子 | 返回值 | 说明 |
---|---|---|---|
Number() | Number(false) | 0 | 如果是布尔值,true和false分别被转换为1和0 |
Number(3) | 3 | 如果是数字值,返回本身。 | |
Number(new Date()) | 3 | 返回从 1970 年 1 月 1 日至今的毫秒数。。 | |
Number(null) | 0 | 如果是null,返回0。 | |
Number(undefined) | NaN | 如果是undefined,返回NaN。 | |
Number("123") | 123 | 如果字符串中只包含数字,则将其转换为十进制(忽略前导0) | |
Number("000.123") | 0.123 | 如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0) | |
Number("") | 0 | 如果是空字符串,将其转换为0 | |
Number("Hello word") | NaN | 如果字符串中包含非以上格式,则将其转换为NaN |
parseInt(string, radix)
方法 | 例子 | 返回值 | 说明 |
---|---|---|---|
parseInt(string, radix): 如果指定radix参数,则以radix为基数进行解析 |
parseInt(" Acura666") | NaN | 如果第一个字符不是数字符号,返回NaN |
parseInt("666Acura") | 666 | 如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止 | |
parseInt("22.6sss") | 22 | 转化为整型,直接去掉小数点后面保留整数 | |
parseInt("11",2) | 3 |
radix可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN |
parseFloat(string, radix)
方法 | 例子 | 返回值 | 说明 |
---|---|---|---|
parseFloat(string, radix) 规则与parseInt基本相同 |
parseFloat("0.0.000666Acura") | 0 | 第一个小数点符号是有效的,parseFloat会忽略所有前导0 |
parseFloat("0.000666") | 0.000666 | ||
parseFloat("0.2.000666") | 0.2 |
相信大家通过以上3个表格能够很清晰的了解这三个方法了吧~~