我有一个带有不同数学字符的字符串,我想让最后一个数字为负/正。假设字符串是“100/5*30-60+333”。我想要的结果是“100/5*30-60+(-333)”,我想把它转换回正数(“100/5*30-60+333”)。
function posNeg() {
// hiddenText is a <input> element. This is not shown.
let n = hiddenText.value;
n.split('+');
n.split('-');
n.split('*');
n.split('/');
console.log(n);
}
我得到的是整个 hiddenText.value,而不是所有数字的数组。有小费吗?
假设字符串是“100/5*30-60+333”。我想要的结果是“100/5*30-60+(-333)”,我想把它转换回正数(“100/5*30-60+333”)。
以下代码执行此操作:
let mathStr = '100/5*30-60+333';
console.log(mathStr);
let tokens = mathStr.split('+');
let index = tokens.length - 1;
let lastToken = tokens[index];
lastToken = '('.concat('-', lastToken, ')');
let newMathStr = tokens[0].concat('+', lastToken);
console.log(newMathStr); // 100/5*30-60+(-333)
console.log(mathStr); // 100/5*30-60+333
编辑:
...我想将其转换回正数(“100/5*30-60+333”)。
一种方法是在开始时将mathStr
(值“100/5*30-60+333”)声明为 avar
并在以后根据需要重用它。另一种方法是编码如下:
let str = "100/5*30-60+(-333)";
str = str.replace('(-', '').replace(')', '');
console.log(str); // 100/5*30-60+333
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句