Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript parseInt()和parseFloat()之间的差异_Javascript_Jquery_Function_Font Size - Fatal编程技术网

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);**