编辑
2023-03-21
JavaScript
0
请注意,本文编写于 536 天前,最后修改于 515 天前,其中某些信息可能已经过时。

目录

数据类型转换
将其他数据类型转换为数值类型
实现方法
实现方式-使用Number()函数
实现方式-parseInt()、parseFloat()函数
parseInt()
用途
<font color="red">注意</font>
语法
基数规则
Eg
parseFloat()
用途
<font color="red">注意</font>
语法
Eg
将其他数据类型转换为字符串类型
实现方式-toString()
语法
实现方式-调用String()函数
将其他数据类型转换为布尔值
方式-Boolean()函数

数据类型转换

  • 强制类型转换
    • Number()
    • string()
    • boolean()
  • 隐式类型转换
    • 运算中自动发生的转换
  • 手动转换(其实就是在字符串当中提取数字)
    • parseInt()
    • parseFloat()

将其他数据类型转换为数值类型

实现方法

  • 强制类型转换
    • Number()
  • 手动类型转换
    • parseInt()
    • parseFloat()

实现方式-使用Number()函数

  • 若纯数字组成的字符串使用Number则转换为数字
  • 若字符串中有非数字的内容使用Mumber()转换为NaN
  • 若字符串是空字符串则转换为数值0(零)
  • 布尔值true转换为1,false转换为0
  • Null转换为0
  • undefinded转换为NaN

实现方式-parseInt()、parseFloat()函数

  • parseInt():专门用于将字符串转换为一个整数,即从字符串中提取整数
  • parseFloat():专门用于将字符串转换为一个浮点数,即从字符串中提取浮点数

函数读取规则是字符串从左至右读取,遇到非数值(字母、小数点)【就结束读取.然后将读取的数值转换为Number,若首字符非数字则转换为NaN

parseInt()

用途

用于将一个字符串的的数字转换为一个整数

注意

函数读取规则是字符串从左至右读取,遇到非数值(字母、小数点)直接就结束读取.然后将读取的数值转换为Number

语法

parseInt(string, radix)
  • string 必需。要被解析的字符串。
  • radix 可选。表示要解析的数字的基数。该值介于2 ~ 36之间

基数规则

基数规则如下

  • 区间范围介于2~36之间;
  • 当参数为0,parseInt() 会根据十进制来解析
  • 如果忽略该参数,默认的基数规则:
    • 如果 string 以 "0x" 开头,parseInt() 会把string的其余部分解析为十六进制的整数parseInt("0xf") //15
    • 如果 string 以 0 开头,其后的字符解析为八进制或十六进制的数字;parseInt("08") //8
    • 如果string以1~9的数字开头,parseInt() 将把它解析为十进制的整数;parseInt("88.99f") //88
    • 只有字符串中的第一个数字会被返回。parseInt("10.33") //返回10;
    • 开头和结尾的空格是允许的。parseInt(" 69 10 ") //返回69
    • 如果字符串的第一个字符不能被转换为数字,返回NaN。parseInt("f") //返回NaN 而parseInt("f",16) //返回15

Eg

javascript
var username = "12p3px456"; username = parseInt(username) console.log(username); console.log(typeof username); // 返回值为: // 12 // number

parseFloat()

用途

用于将一个字符串中的数字转换为浮点数,该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字类型返回该数字,而不是作为字符串

注意

  • paseFloat()和parseInt()规则类似,不同在于遇到的第一个小数点会识别,第二个小数点之后则会舍弃,然后将取出的数值转换为浮点数
  • 如果字符串的第一个字符不能被转换为数字,那么parseFloat()会返回NaN

语法

parseFloat(string)
  • string 必需。要被解析的字符串

Eg

javascript
var username = "12.456.878px"; username = parseFloat(username) console.log(username); console.log(typeof username); // 返回值为: // 12.456 // number

将其他数据类型转换为字符串类型

实现方式-toString()

调用被转换数据类型的toString()方法
该方法不会改变变量本身的值,需要赋值后输出
Null和Undefined没有toString()方法

语法

javascript
var username = 123; username = username.toString(); console.log(username); console.log(typeof username); // 返回值为: // 123 // string

实现方式-调用String()函数

null和undefined会被转换为字符串"null"和"undefined"

javascript
var username = 123; username = String(username); console.log(username); console.log(typeof username); // 返回值为: // 123 // string

将其他数据类型转换为布尔值

方式-Boolean()函数

  • 数字转换为布尔值,除了0和NaN为flase,其他都为true

  • Infinity,-Infinity都为true

  • 字符串转换为布尔值,除了空字符串为flase,其他都为true

  • null、undefined转换为布尔值都是flase

  • 对象转换为布尔值为true

本文作者:RKLS

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!