前提:字符串必须是一个数字。
Number()
通过 Number() 转换函数传入一个字符串,它会尝试将其转换为一个整数或浮点数,这个方法只能基于十进制进行转换,并且字符串中不能出现非数字的字符,否则将返回 NaN。
Number( 123 ) // 123
Number( 12.3 ) // 12.3
Number( 3.14abcd ) // NaN
+
将字符串转换为数字最快速的方法是使用一元运算符 +:
+ 123 // 123
+ 123.123 // 123.123
+ 123,123 // NaN
如果不是一个纯数字,将返回 NaN。
你也可以用-(减号)将其转化为负数值。
Math.floor()
Math.floor() 返回小于或等于一个给定数字的最大整数。可以理解 Math.floor() 为向下取整
Math.floor( 4 ) // 4
Math.floor( 45.95 ) // 45
Math.floor( 45.05 ) // 45
Math.floor( -45.05 ) // -46
Math.floor( -45.95 ) // -46
Math.ceil 向上取整,要注意的是负数它会往大的取
Math.ceil( -2019.05 ) // -2019
还有其他的一些 Math 方法,也会在运算过程中,将纯数字字符串转化为数字。
parseInt() 和 parseFloat()
parseInt() 方法可解析一个字符串,并返回一个整数。
注意
- 字符串中只返回第一个数字。
- 开头和结尾的空格是允许的。
- 如果字符串的第一个字符不能被转换为数字,那么
parseInt()会返回NaN。 - 在字符串以
0为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
parseInt( 123 ) // 123
parseInt( 123.1234 ) // 123
parseInt( 1 2 3 ) // 1
parseInt( 18 ACG ) // 18
parseInt( hi 2 ) // NaN
parseInt( 10 , 10) // 10
parseInt( 010 ) // 10
parseInt( 10 , 8) // 8
parseInt( 0x10 ) // 16
parseInt( 10 , 16) //16
parseFloat() 方法可解析一个字符串,并返回一个浮点数。
- 字符串中只返回第一个数字。
- 开头和结尾的空格是允许的。
- 如果字符串的第一个字符不能被转换为数字,那么
parseFloat()会返回NaN。
// 小数
parseFloat( 123 ) // 123
parseFloat( 123.1234 ) // 123.1234
parseFloat( 1 2 3 ) // 1
parseFloat( 18 ACG ) // 18
parseFloat( hi 2 ) // NaN
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



