Javascript toString不适用于数字、字符和特殊符号的混合

Javascript toString不适用于数字、字符和特殊符号的混合,javascript,Javascript,我正在尝试以下代码:- var testrename={ 检查:函数(){ var-str=988000分; var test=str.toString().split(/[,]/); console.log(测试[0]+测试[1]); } } testrename.check()您的str变量的赋值需要被引用,以便为其赋值并将其识别为字符串 看起来您试图做的是提取字符串的整数值,因此从字符串“988000 PTS”返回988000,您可以使用parseInt(string) 更新:逗号将打断

我正在尝试以下代码:-

var testrename={
检查:函数(){
var-str=988000分;
var test=str.toString().split(/[,]/);
console.log(测试[0]+测试[1]);
}
}

testrename.check()
您的
str
变量的赋值需要被引用,以便为其赋值并将其识别为字符串

看起来您试图做的是提取字符串的整数值,因此从字符串“988000 PTS”返回988000,您可以使用
parseInt(string)

更新:逗号将打断parseInt函数并返回一个截断的数字(988而不是988000),因此您可以使用带正则表达式的replace函数首先从字符串中删除所有非数值


哪里定义了
temp
?更新了查询。我得到988000分作为变量内的数据。有什么方法可以做到这一点吗?为什么你期望结果是
“-98000”
,而不是
“988000”
?代码似乎有效,你的期望是错误的。现在我很困惑。问题是什么?在我看来,代码的工作方式与预期一致。或者你的问题真的只是字符串周围缺少引号吗?你不应该引用w3schools,它们过去有不准确和错误的信息,现在仍然有。您应该始终指定
radix
参数,因为用于
radix
的默认值可以根据不同的实现和js版本进行更改。此信息部分包含在链接中,但它们应明确建议始终设置
基数
。这不起作用
parseInt(“988000点”)
将导致
988
,而不是
988000
,因为
[…]如果parseInt遇到指定基数中不是数字的字符,它会忽略它和所有后续字符,并返回解析到该点的整数值。[…]
@t.niese-好的点-我已经更新了示例,使用string.replace函数首先从字符串中删除非数值,然后传递到parseInt,并链接到MDN而不是W3N
var testrename={
  check :function() {
    var str ="988,000 PTS";
    cleanStr = str.replace(/\D/g,'');
    var test = parseInt(cleanStr);
    console.log(test);
  }
} testrename.check();