Js里面parseInt 字符串转换数字详细解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js里面parseInt 字符串转换数字详细解释相关的知识,希望对你有一定的参考价值。

例:08为何转换成0以及进制之间的转换问题

javascript中parseInt函数用法如下:

parseInt() 函数可解析一个字符串,并返回一个整数

parseInt(string, radix)

string:

必需。要被解析的字符串。

radix:

可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。

如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

返回值:返回解析后的数字。

说明:

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

举例:

如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。

如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。

如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

提示:

    只有字符串中的第一个数字会被返回。

    开头和结尾的空格是允许的。

    如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

参考技术A 首先看parseInt语法:parseInt(string, radix);其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
所以,在我们用时还是明确指定进位制,以防出错。
如我们平时都用十进制位,我们就 parseInt("08", 10); 可以看一下这篇文章,说的很详细,可能对你会有帮助http://www.neoease.com/javascript-get-integer-via-parseint/

js 字符串转数字

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

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串。如“3.4.5”被转换成“3.4”, 

用Number()进行强制类型转换将返回NAN, 
如果字符串值能被完整地转换,Number()将判断是调用parseInt()还是parseFloat()。 

  1. var bb = "35.23ace23";   
  2. document.write(Number(bb));                    //NaN   
  3. document.write(parseFloat(bb));                //35.23   
  4. document.write(parseFloat(Number(bb)));        //NaN  

 
  1. var bb = "35.23ace23";  
  2. document.write(Number(bb));                    //NaN  
  3. document.write(parseFloat(bb));                //35.23  
  4. document.write(parseFloat(Number(bb)));        //NaN  




Number.toFixed(x) 、 Number.toPrecision(x) 、 Math.Round(x)的区别: 

Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。 
注意:一个是计算小数点后的长度,一个是计算整个数字的长度 。 
Math.round() 方法可把一个数字舍入为最接近的整数。 

 
    1. var aa = 2.3362;    
    2. document.write(aa.toFixed(1));                 // 2.3    
    3. document.write(aa.toFixed(2));                 // 2.34    
    4. document.write(aa.toPrecision(2));             // 2.3   
    5. document.write(aa.toPrecision(3));             // 2.34     
    6. document.write(Math.round(-4.60));             // -5   
    7. document.write(Math.round(aa * 10) / 10);      // 2.3    
    8. document.write(Math.round(aa * 100) / 100);    // 2.34    

 

http://blog.csdn.net/liuzhen917/article/details/8490219

 


















以上是关于Js里面parseInt 字符串转换数字详细解释的主要内容,如果未能解决你的问题,请参考以下文章

在JS中如何把字符串转成数字

Js将字符串转数字的方式

js怎么把字符串转换成数字

js中怎么把日期转换成数字?

js 字符串转换成数字(转)

js 类型转换 数组 字符串 时间 数字