javascript的数值转换 number()详解

---恢复内容开始---

 number() parseInt() parseFloat()这三个函都可以把数非数值转换为数值,我们看看他们的区别在哪里

一 Number()

 转型函数Number()是无所不能的,他可以把任何形式的数据类型进行转型,其规则如下

1.如果是布尔值,true和false将分别转换为1和0;

2.如果是数字,只是简单的传入和返回;

3.如果是null 则转化为0.;

4.如果是undefined则返回NaN;

5.如果是字符串-----规则就更详细了:

1.如果字符串中只包含数字,(包括前面的正好和负号)则会转换为十进制,比如 “1”变成1 “,123”变成12,而“0123”则变成123注意前面的的0被忽略

2.字符串如果是空则转化为0

3.如果字符串中有上述格式之外的字符,则转为NaN;

4.如果是对象则调用valueOf()的方法,依照上述的规则进行转换

代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>VIDEO</title>
 6 </head>
 7 <body>
 8 <script>
 9     var num1=Number("");
10      alert(num1);//转化为0
11 
12      //code 2
13      var num2=Number("hello");
14      alert(num2);//转化为NaN
15      //code 3
16      var num3=Number("0000222");
17      alert(num3);//转化为222
18      //code 4
19       var num4=Number(true);
20      alert(num4);//转化1
21 
22 
23 
24 
25 
26 
27 </script>
28     
29 </body>
30 </html>

由于Number()复杂而且不合理,处理整数的时候parseInt()更常用。parseInt()函数在转换字符串时,会忽略字符串前面的空格,知道找到第一个非空格字符。

如果第一个字符不是数字或者负号,parseInt() 就会返回NaN,同样的,用parseInt() 转换空字符串也会返回NaN。

如果第一个字符是数字字符,parseInt() 会继续解析第二个字符,直到解析完所有后续字符串或者遇到了一个非数字字符。

parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。

基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法。

var num1 = parseInt("AF",16);           //175
   var num2 = parseInt("AF");            //NaN
   var num4 = parseInt("sdasdad");         //NaN

  

 

原文地址:https://www.cnblogs.com/luotianyi/p/7642868.html