Javascript parseInt()和parseFloat()之间的差异
可能重复:Javascript parseInt()和parseFloat()之间的差异,javascript,jquery,function,font-size,Javascript,Jquery,Function,Font Size,可能重复: // 这两者有什么区别 **fontSize = parseInt(box.css('font-size'), 10);** **fontSize = parseFloat(box.css('font-size'), 10);** 为什么要把10作为上下文..请帮助?首先,只有parseInt接受第二个参数。它叫基数。它表示要使用的数字系统。在示例中,您可以将数字转换为二进制或十六进制代码 parseFloat只接受一个参数 JavaScript提供了两种转换非数字原语的方法
// 这两者有什么区别
**fontSize = parseInt(box.css('font-size'), 10);**
**fontSize = parseFloat(box.css('font-size'), 10);**
为什么要把10作为上下文..请帮助?首先,只有
parseInt
接受第二个参数。它叫基数。它表示要使用的数字系统。在示例中,您可以将数字转换为二进制或十六进制代码
parseFloat
只接受一个参数
JavaScript提供了两种转换非数字原语的方法
分为两个数字:parseInt()和parseFloat()。你可能已经猜到了,
前者将值转换为整数,而后者则将值转换为整数
将值转换为浮点数
字符串中包含的任何数字文字也会正确转换,因此字符串“0xA”会正确转换为数字10。但是,字符串“22.5”将转换为22,因为小数点对于整数是无效字符。一些例子:
var iNum1=parseInt(“1234blue”)//返回1234
var iNum2=parseInt(“0xA”)//返回10
var iNum3=parseInt(“22.5”)//返回22
var iNum4=parseInt(“蓝色”)//返回楠
parseInt()方法还有一个基数模式,允许您将二进制、八进制、十六进制或任何其他基数的字符串转换为整数。基数被指定为parseInt()的第二个参数,因此解析十六进制值的调用如下所示:
var iNum1=parseInt(“AF”,16)//返回175
当然,这也可以用于二进制、八进制甚至十进制
(这是默认模式):
var iNum1=parseInt(“10”,2)//返回2
var iNum2=parseInt(“10”,8)//返回8
var iNum2=parseInt(“10”,10)//返回10
如果十进制数包含前导零,最好将基数指定为10,这样就不会意外地得到八进制值。例如:
var iNum1=parseInt(“010”)//返回8
var iNum2=parseInt(“010”,8)//返回8
var iNum3=parseInt(“010”,10)//返回10
在这段代码中,两行都将字符串“010”解析为一个数字。
第一行认为字符串是八进制值并对其进行解析
与第二行相同(该行将基数指定为8)。这个
最后一行指定基数为10,因此iNum3最终等于10
使用parseFloat()时的另一个区别是字符串必须以十进制形式表示浮点数,而不是八进制或十六进制。此方法忽略前导零,因此八进制数0908将解析为908,十六进制数0xA将返回NaN,因为x不是浮点数的有效字符。parseFloat()也没有基数模式
使用parseFloat()的一些示例:
var fNum1=parseFloat(“1234blue”)//返回1234
var fNum2=parseFloat(“0xA”)//返回0
var fNum3=浮动汇率(“22.5”)//返回22.5
var fNum4=parseFloat(“22.34.5”)//返回22.34
var fNum5=parseFloat(“0908”)//返回908
var fNum6=parseFloat(“蓝色”)//返回楠
,,
看看这个问题,也看看这个漂亮的答案。一个请求。您编写了“var fNum1=parseFloat(“1234blue”);//返回1234.0”。但事实是,在javascript中,1234.0==1234,因为只有一种数字类型。通过为parseFloat结果编写1234.0,为parseInt结果编写1234,意味着这两个结果之间存在差异,而实际上没有差异。parseFloat(“0xA”);不返回NaN,至少在我的测试中是这样。它返回0,因为它解析0并在x处停止。
var box = $('.box'),
fontSize = parseFloat(box.css('font-size'), 10) + 5;
$('button').on('click', function() {
box.animate({fontSize: fontSize})
});
**fontSize = parseInt(box.css('font-size'), 10);**
**fontSize = parseFloat(box.css('font-size'), 10);**