网站地图    收藏   

主页 > 前端 > javascript >

javascript中parseInt和parseFloat类型区别

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 在js中parseInt与parseFloat都是对数值类型进行定义或转换的,但是一个是整型的一个支持浮点型的,也就是他们两的精确度是不一样的。...

parseInt()函数:把字符串转换成整数。返回是从字符串的第一个字符开始,如果字符不是以整数开头则返回0。parseInt()函数还可以转换十六进制数或十进制数。

例如:parseInt("123xyz") 返回123,而parseInt("xyz")返回0。

parseFloat()函数:类似于parseInt()函数,它返回字符串上包含的第一个浮点数。如果字符串不以有效浮点数开头,则返回0。

例如:parseFloat("2.1e4xyz")返回21000;而parseFloat("xyz")返回0。

JavaScript中parseFloat函数方法是返回由字符串转换得到的浮点数

看代码:

<script>
alert(parseInt("3.54 apples"));
alert(parseFloat("3.54 apples"));
</script>
<script>
alert(parseInt("3.54 apples"));
alert(parseFloat("3.54 apples"));
</script>

 

他们还可以用来字符串转换数字


1.提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123
2.提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55


例如,如果要把字符串 "1234blue "转换成整数,那么parseInt()将返回1234,因为当它检测到字符b时,就会停止检测过程。字符串中包含的数字字面量会被正确转换为数字,因此字符串 "0xA "会被正确转换为数字10。不过,字符串 "22.5 "将被转换成22,因为对于整数来说,小数点是无效字符。一些示例如下:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,需如下调用parseInt()方法:
parseInt("AF", 16); //returns 175
当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法:

parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

 代码如下 复制代码

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

在这段代码中,两行代码都把字符串 "010 "解析成了一个数字。第一行代码把这个字符串看作八进制的值,解析它的方式与第二行代码(声明基数为8)相同。最后一行代码声明基数为10,所以iNum3最后等于10。

下面是使用parseFloat()方法的示例:

 代码如下 复制代码


parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

总结

parseInt()和parseFloat()两个方法都是从左边的字符串开始查找,如果第一个字符不是数字或者负号(在parseFloat()还可以是个小数点)。一旦它们遇到了这样的一个字符,它们就返回自己提取的数字

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论