在 JavaScript 中编码时,必须检查字符串是否是一个数字,然后键入将其转换为数字。如果你完成了 5 个以上的 leetcode 问题,那么你就知道我在说什么了!😅
在编写应用程序时,它也非常有用。典型的示例是计算器应用,你将用户的输入值作为字符串接收,并且需要验证这些值是否为有效的数字(或运算符)。
有一个JavaScript方法,有一个有趣的名字叫做。翻译为“不是一个数字”。它返回 true ifis 不是数字,如果它是一个数字,则返回 false。isNaN(str)str
如果我们使用我们得到真正的ifis一个数字。!isNaN(str)str
- !isNaN('👾123') // => false
- !isNaN('😺') // => false
- !isNaN('456') // => true
-
- // works for floats too
- !isNaN('-2.5') // => true
有 4 种方法可以将字符串转换为数字(如果是数字)。
警告:如果字符串不是数字,请不要尝试将其转换为数字,因为您会返回,或者有时如果您将空字符串或空格转换为数字。祝你好运在你的代码中找到这个错误! 🤬NaN0
所以总是使用!isNaN(str)FIRST检查它是否是一个数字。
明白了?凉!让我们键入转换:
- // for integers
- +'456' // => 456
- parseInt('456') // => 456
- Number('456') // => 456
-
- // for floating point numbers
- +'-2.600' // => -2.6
- parseFloat('-2.600') // => -2.6
- Number('-2.600') // => -2.6
请注意,ONLY 适用于整数,如果你给它一个浮点数,它会切断之后的所有东西,所以成为。parseInt(...).parseInt('-2.6')-2
请注意,我在末尾添加了一些零我这样做是为了说明一些很酷的事情:通过类型将字符串转换为浮点数,将删除 AND 之前的所有不必要的浮点零。-2.6
这真的派上用场了。
例如:
+'-000002.600' // => -2.6
相关技巧:如果你有一个浮点数,有很多你想要摆脱的尾随零,只需将其转换为字符串,然后变回一个数字:+
- const annoyingNumber = 1.230000000000;
-
- const cleanNumber = +annoyingNumber.toString();
-
- console.log(cleanNumber); // => 1.23
😎