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。
在默认不指定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()。
- var bb = "35.23ace23";
- document.write(Number(bb)); //NaN
- document.write(parseFloat(bb)); //35.23
- document.write(parseFloat(Number(bb))); //NaN
- var bb = "35.23ace23";
- document.write(Number(bb)); //NaN
- document.write(parseFloat(bb)); //35.23
- 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() 方法可把一个数字舍入为最接近的整数。
- var aa = 2.3362;
- document.write(aa.toFixed(1)); // 2.3
- document.write(aa.toFixed(2)); // 2.34
- document.write(aa.toPrecision(2)); // 2.3
- document.write(aa.toPrecision(3)); // 2.34
- document.write(Math.round(-4.60)); // -5
- document.write(Math.round(aa * 10) / 10); // 2.3
- document.write(Math.round(aa * 100) / 100); // 2.34
http://blog.csdn.net/liuzhen917/article/details/8490219
以上是关于Js里面parseInt 字符串转换数字详细解释的主要内容,如果未能解决你的问题,请参考以下文章