详解JS转换数值函数Number()、parseInt()、parseFloat()

所属分类: 网络编程 / JavaScript 阅读数: 800
收藏 0 赞 0 分享

JS中有三种函数可以将非数值转换成数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。这3个函数对于同样的输入会返回不同的结果。

Number()

Number()函数的转换规则如下:

•如果参数是Date对象,返回从1970年1月1日至今的毫秒数。
•如果是Boolean值,true和false将分别被替换为1和0
•如果是数字值,只是简单的传入和返回
•如果是null值,返回0
•如果是undefined,返回NaN
•如果是字符串,遵循下列规则: •如果字符串只包含数字(包括十六进制格式“0x”),则将其转换成对应的十进制。
•如果字符串是空的,返回0。
•如果字符串包含其它字符,返回NaN。

•如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再依次按照前面的规则转换返回的字符串值。

document.write(Number(true)+"<br/>"); //返回1
document.write(Number(false)+"<br/>"); //返回0
document.write(Number(null)+"<br/>"); //返回0
document.write(Number(undefined)+"<br/>"); //返回NaN
document.write(Number("001")+"<br/>"); //返回1
document.write(Number("001.1")+"<br/>"); //返回1.1
document.write(Number("0x10")+"<br/>"); //返回16
document.write(Number(new String("11aa"))+"<br/>"); //返回NaN

parseInt()

返回由字符串转换得到的整数。

parseInt(numString, [radix])

参数

numString必选项。要转换为数字的字符串。radix可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

说明

parseInt()方法返回与保存在numString中的数字值相等的整数。如果numString的前缀不能解释为整数,则返回NaN(而不是数字)。它会忽略字符串前面的空格,直至找到第一个非空格字符。

示例

document.write(parseInt("1")+"<br/>"); //返回1
document.write(parseInt("  1")+"<br/>"); //返回1
document.write(parseInt("1.1")+"<br/>"); //返回1
document.write(parseInt("11aa")+"<br/>"); //返回11
document.write(parseInt("020")+"<br/>"); //返回16(八进制)
document.write(parseInt("")+"<br/>"); //返回NaN
document.write(parseInt("AF")+"<br/>"); //返回NaN
document.write(parseInt("AF",16)+"<br/>"); //返回175
document.write(parseInt("0xAF")+"<br/>"); //返回175

parseFloat()

返回由字符串转换得到的浮点数。

parseFloat(numString)

必选项 numString 参数是包含浮点数的字符串。

说明

parseFloat()返回与numString中保存的数相等的数字表示。如果numString的前缀不能解释为浮点数,则返回NaN(而不是数字)。

以上所述是小编给大家介绍的JS转换数值函数Number()、parseInt()、parseFloat(),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

jQuery控制input只能输入数字和两位小数的方法

这篇文章主要介绍了jQuery控制input只能输入数字和两位小数的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue模板语法中数据绑定的实例代码

这篇文章主要介绍了Vue模板语法中数据绑定的实例代码,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

详解 微信小程序开发框架(MINA)

小程序使用的是MINA框架,目的是通过简单、高效的方式让开发者可以在微信中开发具有原生App体验的服务。 这篇文章主要介绍了微信小程序开发框架(MINA),需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery实现的点击显示隐藏下拉菜单功能完整示例

这篇文章主要介绍了jQuery实现的点击显示隐藏下拉菜单功能,结合完整实例形式分析了jQuery事件响应及页面元素属性动态操作简单实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

angular4应用中输入的最小值和最大值的方法

这篇文章主要介绍了angular4应用中输入的最小值和最大值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

150行代码带你实现微信小程序中的数据侦听

在这篇文章中, 我将用150行代码, 手把手带你打造一个小程序也可以使用的侦听器,感兴趣的朋友跟随小编一起看看吧
收藏 0 赞 0 分享

javascript异步编程的六种方式总结

这篇文章主要介绍了javascript异步编程的六种方式总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS实现的自定义map方法示例

这篇文章主要介绍了JS实现的自定义map方法,结合实例形式分析了javascript自定义map相关的json数组定义、遍历、添加、删除、读取等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

微信小程序云开发(数据库)详解

使用云开发开发微信小程序、小游戏,无需搭建服务器,这篇文章主要为大家详细介绍了微信小程序云开发数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JS简单数组排序操作示例【sort方法】

这篇文章主要介绍了JS简单数组排序操作,结合实例形式分析了javascript使用sort方法进行数组排序的相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多