将数学表达式从文本转换为计算表达式
transforming math expression from text into calculated one
在某些计算中,我正在用类似的javascript生成一个数学表达式
var myExpression = '';
if (!isNaN(myVal) && myVal> 0) {
myExpression += '(' + myVal+ ' * ' + someVal + ') +';
}
根据某些用户事件,我在console.log中得到了您所期望的生成的表达式
(1 * 1) + (10 * 5) + ...
或
(10 * 5) + ...
如何将这个数学表达式表示转换为实际表达式,并将其结果存储到变量中?
您可以在字符串上使用eval()
,它将作为JavaScript运行。这将允许计算数学表达式:
eval(myExpression);
只需注意小心使用eval()
。请参阅为什么使用JavaScript eval函数是个坏主意。尽管如此,人们现在可以使用JavaScript内置控制台做很多事情,因为用户可以在任何网页上执行他们想要的任何JavaScript。请参阅Prestaul关于这可能存在的潜在问题的回答的第三条评论。如果你确保变量不能被用户直接操纵,那么你的罚款。
您可以使用math.js,它自带表达式解析器:
math.eval('(1 * 1) + (10 * 5)'); // 51
或者在范围中提供变量,并在表达式中使用它们:
math.eval('(myVal * someVal)', {myVal: 2, someVal: 10}); // 20
您还可以将表达式解析为树,并在树上执行操作,请参阅文档:
http://mathjs.org/docs/expressions/parsing.htmlhttp://mathjs.org/docs/expressions/expression_trees.html
相关文章:
- 将po-box javascript正则表达式转换为c#regex
- 将 Javascript 正则表达式转换为 PHP
- 在 JavaScript 中使用 parseFloat() 或 parseInt() 和正则表达式(转换 CSV 文件)
- 将一个小型javascript表达式转换为mongodb查询
- 将PHP中的正则表达式转换为javascript
- 如何将变量表达式转换为可执行代码(而不是替换值)
- 将正则表达式转换为PHP
- 将cron表达式转换为人类可读字符串的JavaScript API
- 将 JavaScript 正则表达式转换为 asp.net vb
- 如何将 Php 正则表达式转换为 js
- 将 php 正则表达式转换为 javascript
- 如何将这个PHP正则表达式转换为JS
- 如何即时将字符串编码的 PHP 正则表达式转换为 JS 正则表达式
- 将正则表达式转换为在 JavaScript 中使用的表达式
- 使用正则表达式转换 JSON 密钥值
- 如何将 PCRE 正则表达式转换为 PHP
- 如何使用正则表达式转换多个字符
- 如何将此PHP正则表达式转换为Javascript正则表达式
- 将这个php正则表达式转换为javascript
- 将C#正则表达式转换为JavaScript正则表达式