Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Javasscript中的数学表达式计算_Javascript - Fatal编程技术网

Javascript Javasscript中的数学表达式计算

Javascript Javasscript中的数学表达式计算,javascript,Javascript,我有一个字符串,上面有一个关于如何计算输出的等式 var equation= "((35.8/100)*100)*10%" 我在JS中使用了eval,但是eval不支持百分比,任何人都可以帮助它计算出,谢谢只需使用正则表达式获得百分比,除以100,然后放回小数 var方程=“(35.8/100)*100)*10.1%”; var regex=/\d*\.?\d*(?=%)/; var百分比=方程式匹配(正则表达式)[0]; 变量小数=百分比/100; 方程式=方程式。替换(百分比+“%

我有一个字符串,上面有一个关于如何计算输出的等式

  var equation=  "((35.8/100)*100)*10%"

我在JS中使用了
eval
,但是eval不支持百分比,任何人都可以帮助它计算出,谢谢只需使用正则表达式获得百分比,除以100,然后放回小数

var方程=“(35.8/100)*100)*10.1%”;
var regex=/\d*\.?\d*(?=%)/;
var百分比=方程式匹配(正则表达式)[0];
变量小数=百分比/100;
方程式=方程式。替换(百分比+“%”,小数);
控制台日志(百分比);
console.log(十进制);
console.log(方程);

console.log(eval(等式))如果问题涉及普通js操作或逻辑问题,请不要用库标记问题10%为x 0.1。高中数学,伙计。哈哈,正确。方程式是一个字符串。这是我面临的问题。我肯定我最近看到了完全相同的问题。但是找不到它。@MadaraUchiha-这就是为什么我只使用它来隔离百分比字符串,而不进行替换或其他任何操作。用它做简单的事情,但不要试图用它来做其他事情。但就字符串匹配而言,这是非常好的。是的,除非你忽略了(例如)多个百分比(
*10%)*10%)
)。正则表达式的主要问题是它非常脆弱。通常,当您希望它非常脆弱(例如,输入验证)时使用它,而不是当您需要它用于验证案例时:)我认为此解决方案不适用于分数百分比,例如
10.1%
?当百分比为分数10.1%时不起作用?谢谢@amy,如果你能解决它,那就太好了