You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Roblox Studio中将字符串作为算式进行运算?

字符串算式运算结果获取方案

适用场景说明

你已经拼接完成仅含四则运算的算式字符串,仅需获取运算结果,可参考以下不同场景的实现方案:


1. 输入完全可信的场景(仅为你自定义生成的算式,无外部不可控输入

直接调用语言内置的表达式执行方法即可,实现成本最低:

  • Python 示例
formula = "1+2-1+9-3"
res = eval(formula)
# 输出结果为 8
  • JavaScript 示例
const formula = "1+2-1+9-3"
const res = eval(formula)
// 输出结果为 8

注意:该方案仅能在你100%确定输入内容可控时使用,不可信输入会导致任意代码执行的安全风险。


2. 输入不可信的场景(包含用户提交等外部来源输入)

自己实现简单的表达式解析逻辑,规避安全风险,以下是仅支持加减运算的实现示例,可根据需求扩展支持乘除、括号等规则:

def calc_formula(formula: str) -> int:
    res = 0
    current_num = 0
    # 默认第一个数为加项
    op = '+'
    for char in formula:
        if char.isdigit():
            current_num = current_num * 10 + int(char)
        else:
            # 遇到运算符时结算上一次运算
            if op == '+':
                res += current_num
            elif op == '-':
                res -= current_num
            op = char
            current_num = 0
    # 结算最后一个数字
    if op == '+':
        res += current_num
    elif op == '-':
        res -= current_num
    return res

print(calc_formula("1+2-1+9-3"))
# 输出结果为 8

如果需要支持更复杂的运算规则,可以引入对应语言的专门表达式解析库,比如Python的ast.literal_eval(仅支持字面量运算)、simpleeval等,无需自己从零实现全量解析逻辑。


内容的提问来源于stack exchange,提问作者Triple tree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:54:05