| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 运算_内部计算 | 文本型 | 加减乘除及乘方运算,失败返回空文本 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| Text | 文本型 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| i | 整数型 | |||||
| Sign | 整数型 | "0" | 操作符号位置 | |||
| SiNum | 整数型 | Sign的数组成员数量 | ||||
| SigText | 文本型 | 单个文本 | ||||
| TempText | 文本型 | |||||
| Js | 文本型 | "2" | 计算的左边和右边 | |||
| Result | 文本型 | 单符号计算结果 | ||||
如果真 (寻找文本 (TempText, “^”, , 假) ≠ -1)
判断循环首 (i ≤ 取文本长度 (TempText)) ' 计算乘方
SigText = 取文本中间 (TempText, i, 1)

判断 (SigText = “ ” 或 SigText = “-” 且 i > 1 或 SigText = “*” 或 SigText = “/”)

加入成员 (Sign, i)

i = i + 1

判断 (SigText = “^”)

SiNum = 取数组成员数 (Sign)


判断 (SiNum > 0)


Js [1] = 取文本中间 (TempText, Sign [SiNum] + 1, i - Sign [SiNum] - 1)


Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)


Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符


Result = 到文本 (求次方 (到数值 (Js [1]), 到数值 (Js [2])))


TempText = 文本替换 (TempText, Sign [SiNum] + 1, 取文本长度 (Js [1] + “^” + Js [2]), Result)


i = Sign [SiNum] + 1


Js [1] = 取文本左边 (TempText, i - 1)


Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)


Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符


Result = 到文本 (求次方 (到数值 (Js [1]), 到数值 (Js [2])))


TempText = 文本替换 (TempText, 1, 取文本长度 (Js [1] + “^” + Js [2]), Result)


i = 1





i = i + 1



判断循环尾 ()i = 1
清除数组 (Sign)
如果真 (寻找文本 (TempText, “*”, , 假) ≠ -1 或 寻找文本 (TempText, “/”, , 假) ≠ -1)
判断循环首 (i ≤ 取文本长度 (TempText)) ' 计算乘除
SigText = 取文本中间 (TempText, i, 1)

判断 (SigText = “ ” 或 SigText = “-” 且 i > 1)

加入成员 (Sign, i)

i = i + 1

判断 (SigText = “*”)

SiNum = 取数组成员数 (Sign)


判断 (SiNum > 0)


Js [1] = 取文本中间 (TempText, Sign [SiNum] + 1, i - Sign [SiNum] - 1)


Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)


Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符


Result = 到文本 (到数值 (Js [1]) × 到数值 (Js [2]))


TempText = 文本替换 (TempText, Sign [SiNum] + 1, 取文本长度 (Js [1] + “*” + Js [2]), Result)


i = Sign [SiNum] + 1


Js [1] = 取文本左边 (TempText, i - 1)


Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)


Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符


Result = 到文本 (到数值 (Js [1]) × 到数值 (Js [2]))


TempText = 文本替换 (TempText, 1, 取文本长度 (Js [1] + “*” + Js [2]), Result)


i = 1





判断 (SigText = “/”)

SiNum = 取数组成员数 (Sign)


判断 (SiNum > 0)


Js [1] = 取文本中间 (TempText, Sign [SiNum] + 1, i - Sign [SiNum] - 1)


Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)


Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符



如果真 (到数值 (Js [2]) = 0) ' 除数不能为0



返回 (“”)



如果 (到数值 (Js [1]) = 0) ' 避免出现被除数不能为0



Result = “0”



Result = 到文本 (到数值 (Js [1]) ÷ 到数值 (Js [2]))


TempText = 文本替换 (TempText, Sign [SiNum] + 1, 取文本长度 (Js [1] + “/” + Js [2]), Result)


i = Sign [SiNum] + 1


Js [1] = 取文本左边 (TempText, i - 1)


Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)


Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符



如果真 (到数值 (Js [2]) = 0) ' 被除数不能为0



返回 (“”)



如果 (到数值 (Js [1]) = 0) ' 避免出现被除数不能为0



Result = “0”



Result = 到文本 (到数值 (Js [1]) ÷ 到数值 (Js [2]))


TempText = 文本替换 (TempText, 1, 取文本长度 (Js [1] + “/” + Js [2]), Result)


i = 1





i = i + 1



判断循环尾 ()i = 1
判断循环首 (i ≤ 取文本长度 (TempText)) ' 计算加减
SigText = 取文本中间 (TempText, i, 1)
判断 (SigText = “ ”)
Js [1] = 取文本左边 (TempText, i - 1)
Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)
Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符
Result = 到文本 (到数值 (Js [1]) + 到数值 (Js [2]))
TempText = 文本替换 (TempText, 1, 取文本长度 (Js [1] + “ ” + Js [2]), Result)
i = 1
判断 (SigText = “-” 且 i > 1)
Js [1] = 取文本左边 (TempText, i - 1)
Js [2] = 取文本右边 (TempText, 取文本长度 (TempText) - i)
Js [2] = 到文本 (到数值 (Js [2])) ' 去掉后面的操作符
Result = 到文本 (到数值 (Js [1]) - 到数值 (Js [2]))
TempText = 文本替换 (TempText, 1, 取文本长度 (Js [1] + “-” + Js [2]), Result)
i = 1
i = i + 1

判断循环尾 ()返回 (TempText)
词条作者信息 使用例程
