Javascript 如何仅将字符串数字转换为数字?
Javascript 如何仅将字符串数字转换为数字?,javascript,Javascript,var txt='54839257+32648-34324'; var x; 用于(x/txt){ 如果(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9){ var con=数量(x); }else{x.toString();} 文件编写(con); }如果要对数字和符号进行标记,但要转换整数值,则需要先拆分数值。正则表达式中符号周围的括号允许捕获分隔符 之后,您可以检查该值是否为数字 编辑:我将分隔符从[-+]更改为[^\d],因为这样更有意义 const inp
var txt='54839257+32648-34324';
var x;
用于(x/txt){
如果(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9){
var con=数量(x);
}else{x.toString();}
文件编写(con);
}
如果要对数字和符号进行标记,但要转换整数值,则需要先拆分数值。正则表达式中符号周围的括号允许捕获分隔符
之后,您可以检查该值是否为数字
编辑:我将分隔符从[-+]
更改为[^\d]
,因为这样更有意义
const input='54839257+32648-34324';
常量标记化=(str)=>{
返回str.split(/([^\d])/g.map(x=>!isNaN(x)?parseInt(x,10):x);
}
日志(标记化(输入))代码>
.as控制台包装{top:0;max height:100%!important;}
对于这种情况,只需使用replace with正则表达式即可
const toNumber = (v) => {
if (typeof v === "number") return v;
if (typeof v !== "string") return;
return Number(v.replace(/[^0-9]/g, ""));
};
console.log(toNumber("OO7+54839257+32648-34324"));
如果(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9)
将始终为真
。实际上,你不是在检查这些数字中的任何一个,而是在执行。它只能是一个字符串或一组数字,你到底想要什么?你现在的问题对我来说毫无意义。如果(x==“0”| | x==“1”| |……)
x.toString()
什么都不做,你需要对结果做些什么。另外,x
已经是一个字符串,为什么您认为需要将其转换为字符串。您希望的输出与输入相同。重点是什么?