描述:
动态解析并计算表达式
语法:
eval(StringExp ,{argExp})
备注:
将表达式串作为StringExp的结果,分析计算返回。?对应argExp计算结果,如果有多个?那么就可能有多个argExp,argExp和?是一一对应的。
如果?个数大于argExp个数,则会从第一个argExp开始循环。
通常还可以使用序号为?指定参数,例如eval( "?2/?1", 3, 6 ) ,第一个?对应第二个参数,第二个?对应第一个参数,因此返回结果为2。
参数:
StringExp |
待计算的表达式串 |
argExp |
参数表达式 |
函数关键字:
? |
在StringExp中代表argExp的值 |
返回值:
表达式的结果值,数据类型由表达式决定
示例:
|
A |
|
1 |
="1+3" |
|
2 |
=eval(A1) |
4 |
3 |
=4 |
|
4 |
=eval("?+5",A3) |
? 为关键字,代表A3参数值,返回值9 |
5 |
=eval("(?+1)/?",3,4) |
第一个?值为3,第二个?值为4,返回值1.0 |
6 |
=eval( "(?+?)*?",1, 3 ) |
第一个?值为1,第二个?值为3,第三个?值为1,返回值4 |
7 |
=eval( "?+?", 3 ) |
结果是6,因为argExp数量小于?,所以它会重复使用的argExp。 |
8 |
=eval( "?2/?1", 3, 6 ) |
第一个?对应第二个参数,第二个?对应第一个参数,因此结果为2.0 |