js parseFloat()函数

js yekong

parseFloat()函数用于解析一个字符串,返回对应的浮点数。如果给定值不能转换为数值,则会返回“NaN”。

如果在解析过程中遇到了正负号(+ / -)、数字0~9、小数点或者科学计数法(e / E)以外的字符,则会忽略从该字符开始至结束的所有字符,然后返回当前已经解析的字符的浮点数形式。

正负号必须出现在字符的第一位,而且不能连续出现

parseFloat('+1.2');   // 1.2
parseFloat('-1.2');   // -1.2
parseFloat('++1.2');  // NaN,符号不能连续出现
parseFloat('--1.2');  // NaN,符号不能连续出现
parseFloat('1+1.2');  // 1,'+'出现在第二位,不会当作符号位处理

字符串前面的空白符会直接忽略,如果第一个字符就无法解析,则会直接返回“NaN”

parseFloat('  1.2'); // 1.2
parseFloat('f1.2');  // NaN

对于字符串中出现的合法科学运算符e,进行运算处理后会转换成浮点型数

parseFloat('4e3');   // 4000
parseInt('4e3', 10); // 4

parseFloat()函数在处理'4e3'时,会先进行科学计数法的运算,即4e3 = 4×1000 = 4000,然后转换成浮点型数,返回“4000”;

parseInt()函数在以十进制处理'4e3'时,不会进行科学计数法的运算,而是直接从第一个字符开始匹配,最终匹配成功的字符为'4',转换成整型后,返回整数“4”。

对于小数点,只能正确匹配第一个,第二个小数点是无效的,它后面的字符也都将被忽略。

    console.log(parseFloat('11.20'))   // 11.2
    console.log(parseFloat("11.3.1"))   // 11.3

    console.log(parseFloat("123cF"))   // 123
    console.log(parseFloat("0xA"))   // 0
    console.log(parseFloat("22.1"))   // 22.1
    console.log(parseFloat("22.2.2"))   // 22.12
    console.log(parseFloat("0901.3"))   // 901.3

喜欢