易语言如何取2个字符中间的数来运算呢?

比如字符是<120+15*15+(68-24)>

如何取"<"">"之间的数来运算呢?数字是变量

.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击
.局部变量 a, 文本型
.局部变量 b, 文本型

a = “<120+15*15+(68-24)>”
b = 取文本中间 (a, 2, 取文本长度 (a) - 2)
调试输出 (b)
标准输出 (, b)
调试输出 (表达式计算 (b))


.子程序 表达式计算, 双精度小数型
.参数 表达式, 文本型
.局部变量 加, 整数型
.局部变量 减, 整数型
.局部变量 乘, 整数型
.局部变量 除, 整数型
.局部变量 左, 整数型
.局部变量 左1, 整数型
.局部变量 右, 整数型

右 = 寻找文本 (表达式, “)”, , 假)
.如果真 (右 ≠ -1)
    .循环判断首 ()
        左 = 寻找文本 (表达式, “(”, 左 + 1, 假)
    .循环判断尾 (寻找文本 (表达式, “(”, 左 + 1, 假) ≠ -1)
    返回 (表达式计算 (取文本左边 (表达式, 左 - 1) + 到文本 (表达式计算 (取文本中间 (表达式, 左 + 1, 右 - 左 - 1))) + 取文本中间 (表达式, 右 + 1, 取文本长度 (表达式) - 右)))
.如果真结束
加 = 寻找文本 (表达式, “+”, , 假)
.如果真 (加 ≠ -1)
    返回 (表达式计算 (取文本左边 (表达式, 加 - 1)) + 表达式计算 (取文本中间 (表达式, 加 + 1, 取文本长度 (表达式) - 加)))
.如果真结束
减 = 寻找文本 (表达式, “-”, , 假)
.如果真 (减 ≠ -1)
    返回 (表达式计算 (取文本左边 (表达式, 减 - 1)) - 表达式计算 (取文本中间 (表达式, 减 + 1, 取文本长度 (表达式) - 减)))
.如果真结束
乘 = 寻找文本 (表达式, “*”, , 假)
.如果真 (乘 ≠ -1)
    返回 (表达式计算 (取文本左边 (表达式, 乘 - 1)) × 表达式计算 (取文本中间 (表达式, 乘 + 1, 取文本长度 (表达式) - 乘)))
.如果真结束
除 = 寻找文本 (表达式, “/”, , 假)
.如果真 (除 ≠ -1)
    返回 (表达式计算 (取文本左边 (表达式, 除 - 1)) ÷ 表达式计算 (取文本中间 (表达式, 除 + 1, 取文本长度 (表达式) - 除)))
.如果真结束
返回 (到数值 (表达式))

有图有真像

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答