JavaScript数值与字符串类型转换的三种函数

来源:互联网 发布:用c语言编写计算器程序 编辑:程序博客网 时间:2024/06/06 00:49

字符串->数值

  • 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:
- 字符串中只包含数字(包括前面带正负号的情况),则将其转换为十进制数值(忽略前导零)
2. 字符串中包含有效的浮点格式,则将其转换为对应的浮点数值(同样忽略前导零)
3. 字符串中包含有效的十六进制格式(0x开头),则将其转换为相同大小的十进制整数值。
4. 字符串为空,则转换为零
- 字符串包含除上述格式外的字符,则转换为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”;

总的来说,在不知道某个变量是否有值/已定义的情况下,使用String()是最为保险的方法

0 0
原创粉丝点击