当前位置:首页 > Web开发 > 正文

只是简单的传入和返回

2024-03-31 Web开发

转载:详解JS中Number()、parseInt()和parseFloat()的区别

三者的感化: 
Number(): 可以用于任何数据类型转换成数值; 
parseInt()、parseFloat(): 专门用于把字符串转换成数值; 
一、Number( ):

(1)如果是Boolean值,true和false将分袂转换为1和0。 
(2)如果是数字值,只是简单的传入和返回。 
(3)如果是null值,返回0。 
(4)如果是undefined,返回NaN。 
(5)如果是字符串,遵循下列法则: 
如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回功效为NaN。 
如果是字符串中只包罗数字(包孕前面带正号或负号的情况),则将其转换为十进制数值,即“1”酿成1,“123”会酿成123,而“011”会酿成11(前导的零被忽略了); 
如果字符串中包罗有效的浮点格局,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零); 
如果字符串中包罗有效的十六进制格局,,例如”0xf”,则将其他转换为不异巨细的十进制整数值; 
如果字符串是空的(不包罗任何字符),则将其转换为0; 
如果字符串中包罗除上述格局之外的字符,则将其他转换成NaN. 
(6)如果是东西,则挪用东西的valueOf()要领,然后依照前面的法则转换返回的值。如果转换的功效是NaN,则挪用的东西的toString()要领,然后再次依照前面的法则转换返回的字符串值。

var num1=Number("Hello World"); //NaN var num2=Number(""); //0 var num3=Number("000011"); //11 var num4=Number(true); //1 var num5=Number("num123") //NaN

1

2

3

4

5

6

7

8

9

二、parseInt( ): 
parseInt()函数可以将字符串转换成一个整数,与Number()函数对比,parseInt()函数不只可以解析纯数字字符串,也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。 
(1)如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN; 也就是说,用parseInt()转换空字符串会返回NaN。 
(2)如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。 
(3)如果字符串以”0x”开头且后跟数字字符,就会将其看成一个十六进制整数。 
(4)如果字符串以”0”开头且后跟数字字符,就会将其看成一个八进制整数。 
(5)parseInt()函数增加了第二参数用于指定转换时使用的基数(即几多进制)。 
(6)当parseInt()函数所解析的是浮点数字符串时,取整操纵所使用的要领为“向下取整”。

var num1=parseInt("num123"); //NaN var num2=parseInt(""); //NaN var num3=parseInt("123.45") //123 var num4=parseInt("101010",2) //42 var num5=parseInt("123num") //123 var num6=parseInt("0xff") //255

1

2

3

4

5

6

三、parseFloat( ): 
与parseInt()一样,parseFloat()也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。与parseInt()差此外是,parseFloat()可以将字符串转换成浮点数;但同时,parseFloat()只接受一个参数,且仅能措置惩罚惩罚10进制字符串。 
(1)字符串中的第一个小数点是有效的,而第二个小数点就是无效的了,因此它后面的字符串将被忽略。 
(2)如果字符串包罗的是一个可解析为整数的数(没有小数点,或者小数点后面都是零),parseFloat()会返回整数。

var num1=parseFloat("1234blue"); //1234 var num2=parseFloat("0xA"); //0 var num3=parseFloat("0908.5"); //908.5 var num4=parseFloat("3.125e7"); //31250000 var num5=parseFloat("123.45.67") //123.45 var num6=parseFloat("") //NaN var num7=parseFloat("num123") //NaN

详解JS中Number()、parseInt()和parseFloat()的区别

标签:

原文地点:https://www.cnblogs.com/idtjie/p/12267652.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30450.html