字符串->数值
- Number(argument1:AnyType)
- parseInt(argument1:String,argument2:Int)
- parseFloat(argument1:String)
Number()
Number()函数可以用于想要转换为数值类型的任何数据类型
- Boolean:Number(true)=1,Number(false)=0
- Number:Number(value)=value
- null:Number(null)=0
- undefined:Number(undefined)=NaN
- String:
- 字符串中只包含数字(包括前面带正负号的情况),则将其转换为十进制数值(忽略前导零)
- 字符串中包含有效的浮点格式,则将其转换为对应的浮点数值(同样忽略前导零)
- 字符串中包含有效的十六进制格式(0x开头),则将其转换为相同大小的十进制整数值。
- 字符串为空,则转换为零
- 字符串包含除上述格式外的字符,则转换为NaN.
parseInt()
只能用来把字符串转换为整数:
- 如果第一个非空字符不是数字字符或正负号,返回NaN
- 如果第一个非空字符串是数字字符,则继续解析第二个字符,直到解析完所有字符或者遇到一个非数字字符停止
- 同时该函数能识别出十进制、十六进制(0x开头)、八进制(0开头)(可以为这个函数提供第二个参数10、16、8来确定转换为何种进制,如果指定了第二个参数,10进制和8进制也可以不带开头)
parseFloat()
- 字符串中的第一个小数点是有效的,之后的多余小数点则被视为非数字字符
- 只能识别十进制
- 若字符串包含的是可被解析被整数的数,则返回整数
数值->字符串
::toString(argument:Int)
参数可以是2、8、10、16表示输出何种进制数值的字符串
将一个值转换成一个字符串有两种方法,一是使用toString()方法,二是使用转型函数String()。下面是一些需要注意的问题:
大多类型都有toString()方法,除了null和undefined类型。
对于字符串型的值也可以使用toString()方法,它会返回该字符串的一个副本。
默认情况下 参数是10。要说明的是对于非数值类型(boolean,string等)设置toString()的参数是无效的
任何值都可以使用String()方法。它的过程是这样的
首先,如果值有toString()方法,那么则使用该方法(无参数)。
其次,那就是该值没有toString()方法,那就是 null 返回 "null",undefined返回"undefined";