有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

字符串转number(JavaScript 将字符串转换为数字)实现方式

javascript 炮渣日记 4周前 (11-12) 85次浏览 已收录 0个评论 扫描二维码

JavaScript在进行 “==” 判断时会进行一些隐式转化, 但是如果使用严格比较“===”来比较这两个不同类型的对象,就会判断失败。

let number1 = 20;
 let number2 = "20";
 console.log(number1 == number2); //true
 console.log(number1 === number2); //false

现在在实际开发中一般推荐使用“===”来进行判断,因为JavaScript中的隐式转换太多了,使用严格相等来判断会使得代码更加稳定,可靠。比如对false的判断,如果不使用“===”来进行判断,这些值都会被被认为是false:

false 0 "" null undefined

所以,在使用“===”之前需要转换一下变量的类型。今天先总结一下JavaScript中将字符串转换为数字的几种方法。

parseInt()

parseInt(string)方法能将字符串转换为整数。 此方法接受两个参数,第一个参数是要解析的字符串,而第二个参数是radix, 表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

let string = "42wisdom";
let integer = parseInt(string, 10);
console.log(integer); // 42

parseFloat()

parseFloat(string) 方法将字符串转换为带浮点数的数字(带小数点的数字)。该方法只有一个参数,如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

let string = "33.4so333meRandomStuff";
let pointNum = parseFloat(string);
console.log(pointNum);

乘以1

let string1 = "234";
 let string2 = "0.000003320";
 let string3 = "23px";
 let etring4 = "wisdom";

 console.log(string1 * 1); // 234
 console.log(string2 * 1); // 0.00000332
 console.log(string3 * 1); // NaN
 console.log(string4 * 1); // NaN

Number()

Number ()将字符串转换为数字,但是如果传入一个包含随机文本的字符串,它将返回NaN。

Number("3455") //returns 3455
Number("0.9493") // returns 0.9493
Number("10.949e3") // returns 10949
Number('3.14someRandomStuff'); // returns NaN

一元操作符

let string = '100';
+string // 100

let string2 = "wisdom"
+string2 // NaN

Math.ceil

该方法一般用来对小数进行向上取整,它还接受字符串作为参数,也能将字符串转换为数字。

let string1 = "101";
let string2 = "100.21";
let string3 = "bye";
Math.ceil(string1); // 101
Math.ceil(string2); // 101
Math.ceil(string3); // NaN
Math.ceil(""); // 0

总结

上面就是我为大家整理的JavaScript中将字符串转换为数字的方法,也许还存在其他方法,欢迎大家给我留言。上面几种方法在使用的时候需要判断那种方法更适合。希望文章能对大家有帮助。

喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址