bugfix1001.2

星引擎Party已发行!
欢迎来到Star Engine 星引擎 WIKI
点击成为魔法少女!

全站通知:

模块:CalculateProgressbar

来自星引擎WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:CalculateProgressbar/doc创建

-- Module:CalculateProgress
local p = {}
local cache = {}  -- 缓存表

function p.calculate(frame)
    local A = frame.args.A or "0"
    
    -- 检查缓存
    if cache[A] then
        return cache[A]
    end
    
    -- 检查是否为分数
    if string.match(A, "/") then
        local numerator, denominator = string.match(A, "^(%d+)/(%d+)$")
        numerator = tonumber(numerator)
        denominator = tonumber(denominator)
        if numerator and denominator and denominator ~= 0 then
            A = numerator / denominator
        else
            A = 0
        end
    else
        A = tonumber(A) or 0
    end

    -- 转换为百分比格式
    A = string.format("%.2f", A * 100) .. "%"

    -- 存储到缓存
    cache[A] = A

    return A
end

return p