模块:CalculateProgressbar
刷
历
编
跳到导航
跳到搜索
此模块的文档可以在模块: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