Lua中返回整数值时自动添加末尾小数点的简洁实现方案问询
实现方案
Lua 中的 number 类型底层统一用 double 存储,整数和格式为x.0的数值本身没有存储差异,你需要的末尾带小数点的效果仅能在序列化为字符串时实现,以下是简洁实现:
单表达式写法(无需封装函数)
直接在需要返回的位置套入逻辑即可:
-- 示例:返回 8/2 的处理结果 return tostring(8/2):gsub("^-?%d+$", "%1.") -- 输出 "4."
封装为函数复用
function format_num(n) return tostring(n):gsub("^-?%d+$", "%1.") end
测试效果
print(format_num(3/2)) -- 输出 1.5 print(format_num(8/2)) -- 输出 4. print(format_num(-4)) -- 输出 -4. print(format_num(-2.5)) -- 输出 -2.5
内容的提问来源于stack exchange,提问作者HyouZou
相关产品推荐
相关产品推荐

