Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
jQuery以数字形式获取文本_Jquery_Variables - Fatal编程技术网

jQuery以数字形式获取文本

jQuery以数字形式获取文本,jquery,variables,Jquery,Variables,此代码不起作用: var number = $(this).find('.number').text(); var current = 600; if (current > number){ // do something } HTML: 400 似乎将text()从类似文本的值转换为数字时出现问题 解决方案是什么?myInteger=parseInt(myString) 这是一个标准的javascript函数 var number = parseInt($(this).fi

此代码不起作用:

var number = $(this).find('.number').text();
var current = 600;
if (current > number){
     // do something
}
HTML:

400
似乎将
text()
从类似文本的值转换为数字时出现问题

解决方案是什么?
myInteger=parseInt(myString)

这是一个标准的javascript函数

var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
     // do something
}

这应该可以解决问题。

使用javascript parseInt方法()


不要忘记指定基数值10,它告诉parseInt它在基数10中。

始终使用带有基数(base)的
parseInt
作为第二个参数,否则会得到意外的结果:

var number = parseInt($(this).find('.number').text(), 10);
然而,一种流行的变体是使用
+
作为酉运算符。这将始终以10为基数进行转换,并且不会抛出错误,只需返回零
NaN
,如果它是无效数字,则可以使用函数
isNaN()
对其进行测试:

var number = +($(this).find('.number').text());

如果有人来这里用像我这样的小数点来做这件事:

myFloat=parseFloat(myString)


如果您只需要一个Int,其他答案中已经详细介绍了这一点。

+
不会为无效数字返回零,它将返回
NaN
。在我看来,这比parseInt()更理想,因为parseInt将尝试在格式错误的字符串开头查找一个数字,这可能会导致混淆(例如,1000变为1)
+str
与编写
Number(str)
相同。我在使用parseInt()时遇到的问题是,当我得到一个NaN结果时,它会扰乱计算。我通过使用位运算符修复了这个问题。例如:
parseInt($(this).find('.number').text()| 0)
.text()
这不是一个函数。我用了这个,它说“.text()不是函数”@ChamindaBandara那么你可能做错了什么,比如没有在jQuery对象上使用它。如果您需要帮助,请创建一个新问题来描述您的问题。如果您想要浮点而不是整数,则可以使用parseFloat()。供参考
var number = parseInt($(this).find('.number').text(), 10);
var current = 600;
if (current > number){
     // do something
}
var number = parseInt($(this).find('.number').text(), 10);
var number = +($(this).find('.number').text());