You need to enable JavaScript to run this app. Lua中返回整数值时自动添加末尾小数点的简洁实现方案问询
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 01:39:02