js 其他类型数据转为 Number

js 其他类型数据转为 Number,第1张

Number()

使用 Number() 函数进行转换,纯数字可以直接转换为数字

let a = true;
a = Number(a);  // 1
typeof a   // number

let b = '123'
b = Number(b);  // 123
typeof b   // number

若字符串里有非数字,则会转化为 NaN。NaN 的意思是 not a number,这是一个非数字

let b = '123aaa';
Number(b)  // NaN
parseInt()

优势,即使字符串中混着非数字,也会解析出第一段数字:从左往右解析,遇到非数字就舍弃后边所有,故第一个若为非数字,则返回NaN

let b = '123aaa';
parseInt(b)  // 123

let b = 'aaa';
parseInt(b)  // NaN
parseFloat()

与 parseInt 用法一致,但是可以解析小数:从左往右解析,遇到非数字就舍弃后边所有,如果遇到两个点,则舍弃第二个点,以及后面内容

let b = '123.5aaa';
parseInt(b)  // 123
parseFloat(b)  // 123.5
parseInt() 和 parseFloat()注意项 不能解析其他类型:对非 string 使用,会先将其转换为 string,然后再 *** 作,因此会返回 NaN
parseFloat(true)  // NaN
parseInt(true)   // NaN
有些情况需要指定进制:如 “070” 这种字符串,转换类型时,浏览器可能会当成 8 进制解析,也可能会当成10进制解析,此时需要加入第二个参数指定进制。
parseInt('010', 2) // 2
parseInt('010', 10) // 10
隐式转换 使用运算符减、乘、除的其中一种,在不改变原值的情况下,和 number 类型的值做运算。(注意:加一个 0 不起作用) 若字符串中的是纯数字,则直接返回该数值若字符串中不是纯数字,则返回 NaN若字符串为空,则返回 0转换布尔型,则 true 返回1,false 返回0转换 undefined,则返回NaN
let a = "123";

let b = a - 0;
console.log(typeof b);  // number
console.log(a);  // 123

let c = a * 1;
console.log(typeof c);  // number
console.log(c);  // 123

let c = a + 0;
console.log(typeof c);  // string
console.log(c);  // 1230

let c = a / 1
console.log(typeof c);  // number
console.log(c);  // 123
在被转换的值前边,加入负号,或者正号
let a = "123";
a = +a;
console.log(typeof a);  // number
console.log(a);   // 123

// 
let a = "123";
a = -(-a);
console.log(typeof a);  // number
console.log(a);   // 123

参考:
JavaScript之将其他的数据类型转换为Number_极客研究者的博客-CSDN博客

JS中,将其他类型转换为number的四种方法_坠落人间的恶魔的博客-CSDN博客_js转number类型

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/944546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存