JavaScript 中 Number()、parseInt()、parseFloat()的区别(2)

     2、如果在解析过程中遇到了正负号(+或-),数字(0-9),小数点,或者科学记数法中的指数(e或E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数.

     3、字符串首位的空白符会被忽略.如果参数字符串的第一个字符不能被解析成为数字,则parseFloat返回NaN.

    4、字符串中第一个小数点是有效的,而第二个小数点就是无效的了,它后面的字符串将被忽略。

     5、parseFloat() 只解析十进制,因此它没有第二个参数指定基数的用法

    6、如果字符串中包含的是一个可解析为正数的数(没有小数点,或者小数点后都是零),parseFloat() 会返回整数。

  实例:

var num1 = parseFloat("123AF");           //123 var num2 = parseFloat("0xA");            //0 var num3 = parseFloat("22.5");            //22.5 var num4 = parseFloat("22.3.56");         //22.3 var num5 = parseFloat("0908.5");          //908.5 

Number()、parseInt() 和parseFloat() 的区别: 

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。如“3.4.5”,用Number()进行强制类型转换将返回NAN, 如果确定字符串值能被完整地转换,Number()将判断是调用parseInt()还是parseFloat()。 

parseFloat() 所解析的字符串中第一个小数点是有效的,而parseInt() 遇到小数点会停止解析,因为小数点并不是有效的数字字符。

parseFloat() 始终会忽略前导的零,十六进制格式的字符串始终会被转换成0,而parseInt() 第二个参数可以设置基数,按照这个基数的进制来转换。

参考文档:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseFloat

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/786c286f72ff565f9918d04ad78d5591.html