Javascript:将字符串转换为数字时出现问题

Javascript:将字符串转换为数字时出现问题,javascript,Javascript,在这种情况下,我必须使用节点列表来获取需要处理的元素。我可以使用.textContent(或.nodeValue)返回我需要的字符串,但我很难找到将该字符串转换为任何类型的数字的方法。我需要它的数字形式,这样我可以用它进行计算。我尝试了Number(),parseInt()等。所有这些都返回NaN。我对JS很陌生,所以希望这是一个容易解决的问题 var siteActual = tdNodeListActual[36].textContent; // location of data conso

在这种情况下,我必须使用节点列表来获取需要处理的元素。我可以使用
.textContent
(或
.nodeValue
)返回我需要的字符串,但我很难找到将该字符串转换为任何类型的数字的方法。我需要它的数字形式,这样我可以用它进行计算。我尝试了
Number()
parseInt()
等。所有这些都返回
NaN
。我对JS很陌生,所以希望这是一个容易解决的问题

var siteActual = tdNodeListActual[36].textContent; // location of data
console.log(siteActual); // returns the value 1 as it should

var asd = Number(siteActual); // test variable to convert string to number
console.log(asd); // returns NaN
编辑:我按照你们中的一位的建议选择了
.length
,结果是2,所以那些说它可能是一个看不见的字符的人可能是对的。我正在尝试对SharePoint页面进行更改,这就是我不熟悉标记的原因。任何关于如何删除除数字以外的所有内容的建议都会很有帮助。

使用
parseInt(…)

样本:

var siteActual = tdNodeListActual[36].textContent; // location of data
console.log(siteActual); // returns the value 1 as it should

var asd = Number(parseInt(siteActual)); // test variable to convert string to number
console.log(asd); // should return 1

如果内容真的只是
1
(也应该是
parseInt
),那么代码应该按原样工作。因此,在你的内容中必须有有效数字以外的内容

有时可能存在您看不到的内容,例如,在下面的示例中,第二个
td
包含一个不可见的“零宽度空格”字符

var tdnodelistatal=document.queryselectoral(“td”);
var good=tdnodelistatal[0]。textContent;
var bad=tdnodelistatal[1]。textContent;
警报(好+“==”+数字(好)+”,但“+坏+”==”+数字(坏))

1.
​2.

try
parseInt(字符串)
siteActual中有什么?你有一个例子吗?数字(“1”)有效,这就是我再次提问的原因。我想另一个问题是:您如何在哪个元素上使用
parseInt(…)
?我认为需要更多的细节(例如,一些HTML示例,关于从何处获取值),尝试记录
siteActual.length
,看看它是否符合您的预期parseInt有什么用途?如果parseInt起作用,那么Number起作用-你也应该在parseInt上提供一个基数..对于他在问题中所写的内容,他已经尝试了parseInt()@MazzCris true,在我回答之前我没有读那么远。。。在后续评论中再次询问更多信息。我检查了长度,正如你们中的一位所建议的,长度为2,所以说它可能是一个看不见的字符的人可能是对的。我正在尝试对SharePoint页面进行更改,这就是我不熟悉标记的原因。任何关于如何删除除号码以外的所有号码的建议都会很有帮助。是的,您可以使用添加到answerWelcome中的regex来完成。我已经将你的评论从上面编辑到了问题中,因为我认为这有助于澄清-希望没问题。很抱歉把这个从它的休息地带回来,但是我还有一个关于你已经帮助我的问题。您提供的正则表达式工作正常,但有些值可能包含小数点。如果删除一个空格,如果保留一个小数点,我将如何保留?在<代码> >代码>中添加点。