JS中有三种函数可以将非数值转换成数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。这3个函数对于同样的输入会返回不同的结果。
Number()函数的转换规则如下:
•如果参数是Date对象,返回从1970年1月1日至今的毫秒数。
•如果是Boolean值,true和false将分别被替换为1和0
•如果是数字值,只是简单的传入和返回
•如果是null值,返回0
•如果是undefined,返回NaN
•如果是字符串,遵循下列规则: •如果字符串只包含数字(包括十六进制格式“0x”),则将其转换成对应的十进制。
•如果字符串是空的,html" target="_blank">html" target="_blank">返回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(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(numString)
必选项 numString 参数是包含浮点数的字符串。
说明
parseFloat()返回与numString中保存的数相等的数字表示。如果numString的前缀不能解释为浮点数,则返回NaN(而不是数字)。
总结
以上所述是小编给大家介绍的JS转换数值函数Number()、parseInt()、parseFloat(),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍详解JS数值Number类型,包括了详解JS数值Number类型的使用技巧和注意事项,需要的朋友参考一下 Number 问题 下面的问题你都能回答对了吗? 0.1 + 0.2 == 0.3 成立吗? .e-5 表示多少? 怎么表示8进制? 怎么转换进制? 如何将字符串转换成数值或整数?反过来呢?十六进制又怎么处理? parseInt(0x12, 16) 的返回值是多少?是0x12吗?
本文向大家介绍详解js中Number()、parseInt()和parseFloat()的区别,包括了详解js中Number()、parseInt()和parseFloat()的区别的使用技巧和注意事项,需要的朋友参考一下 一:Number() 如果是Boolean值,true和false值将分别被转换为1和0。 如果是数字值,只是简单的传入和返回。 如果是null值,返回0。 如果是undefi
本文向大家介绍js数值计算时使用parseInt进行数据类型转换(jquery),包括了js数值计算时使用parseInt进行数据类型转换(jquery)的使用技巧和注意事项,需要的朋友参考一下 js获取到的数据默认都是string字符串类型的,如果进行数值的运算必须使用parseInt进行转换成数值的操作。 html代码: js代码:
本文向大家介绍详解JS函数重载,包括了详解JS函数重载的使用技巧和注意事项,需要的朋友参考一下 JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数不同的方法重载,然而遗憾的是这仅仅是一个假象,js所有的参数都是以arguments传递过去的,这个参数类似于数组,在函数调用的时候,所有的实参都是保存在了这个数据结构里面,我们定义函数的时候所指定的形式参数其实是为这个数据结
本文向大家介绍深入理解JS中Number(),parseInt(),parseFloat()三者比较,包括了深入理解JS中Number(),parseInt(),parseFloat()三者比较的使用技巧和注意事项,需要的朋友参考一下 参考阅读: 详解js中Number()、parseInt()和parseFloat()的区别 详解JS转换数值函数Number()、parseInt()、parse
本文向大家介绍js的回调函数详解,包括了js的回调函数详解的使用技巧和注意事项,需要的朋友参考一下 现在做native App 和Web App是主流,也就是说现在各种基于浏览器的web app框架也会越来越火爆了,做js的也越来越有前途。我也决定从后端开发渐渐向前端开发和手机端开发靠拢,废话不说了,我们来切入正题“js的回调函数”相关的东西。 说起回调函数,好多人虽然知道意思,但是