如何强制eval()用%
代替/100
?
在我的应用中,我将获得需要评估的动态公式。我正在用eval()评估这些公式。动态公式具有%
时会出现问题。例如
E_LOW%*CT_TOTAL+(1-GQC)
其中E_LOW,E_TOTAL和GQC是常量。
例如。
E_LOW = 10
我希望E_LOW%的值为0.10,即E_LOW%= 10/100 = 0.10
当前我遇到以下错误:
SyntaxError:意外令牌*
注意:这里的问题不是*
。即使我执行eval(E_LOW%)
,也会出现
SyntaxError:意外令牌
因此,%
之后的一切,eval都无法评估/理解。
预先感谢
答案 0 :(得分:0)
您可以将字符串用于计算,并将符号%
替换为/100
。然后评估。
var E_LOW = 10,
calculation = 'E_LOW%',
replaced = calculation.replace(/([a-z_]+)%/gi, '($1/100)'),
result = eval(replaced);
console.log(replaced);
console.log(result);