浅析parseInt与parseFloat的区别

parsetInt与parseFloat的区别还是很大的,简单来说,parseInt解析字符串为整数,parseFloat解析字符串为小数。

首先说parseInt()

1.可以接受两个参数,第一个为字符串,第二个为进制数,第二个参数不是必须的,如果没有第二个参数,默认为十进制。

2.如果参数字符串的第一个字符不能被解析成为数字,则parseInt返回NaN.

parseFloat()
1.只接受一个参数,将字符串解析为浮点数(十进制)

2.如果参数字符串的第一个字符不能被解析成为数字,则parseFloat返回NaN.

3.parseFloat(),解析过程中遇到了正负号(+或-),数字(0-9),小数点,或者科学记数法中的指数(e或E),那就继续解析。如果遇到其他字符,它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数.同时参数字符串首位的空白符会被忽略。

4.parseFloat(),可以把含e的浮点数解析为非科学计数法表示,如果解析后的数字位数超过21位,解析后仍为科学计数法表示。

第四点有点困惑,如果有大神知道位数超过21位后为什么会用科学计数法表示,请不吝赐教。

parseFloat('9e20')  //900000000000000000000

  parseFloat('1e21')   //1e+21

原文地址:https://www.cnblogs.com/renbo/p/8460387.html