数字格式化
美观地显示数字。
数字格式化 是 CoddyKit 上的免费 Lua Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Lua Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Lua Academy 课程共包含 4 节课。
为什么要格式化数字?
原始数字的显示方式不一定符合您的需求。价格可能会显示为 2.5,而您希望它显示为 2.50;较长的浮点数也可能让屏幕充满数字。
数字格式化可以让您精确控制数字在文本中的显示方式。
print(2.5)
print(1 / 3)认识 string.format
用于格式化的主要工具是 string.format()。您需要向它提供一个包含占位符的模板,以及要填入的值。
占位符以 % 开头,例如 %d 表示整数,%f 表示浮点数。
print(string.format("Score: %d", 42))使用 %d 格式化整数
%d 占位符会将值格式化为十进制整数。
它非常适合用于计数、分数以及不应显示小数点的 ID。
local lives = 3
print(string.format("Lives: %d", lives))使用 %f 格式化浮点数
%f 占位符会格式化浮点数。默认情况下,它会显示小数点后的六位数字。
这通常超出了实际需要,因此您通常应自行设置精度。
print(string.format("%f", 3.14))控制小数位数
写成 %.2f 可显示恰好两位小数。小数点后的数字表示精度。
这是整洁地格式化金额的经典方式。
local price = 2.5
print(string.format("$%.2f", price))使用格式化进行四舍五入
格式化还会根据所要求的精度对值进行四舍五入。对 3.456 使用 %.1f 会将其四舍五入为 3.5。
请注意,这只会影响显示的文本,不会改变原始数字。
print(string.format("%.1f", 3.456))设置字段宽度
小数点前的数字用于设置最小字段宽度。%5d 会使用空格将整数填充到至少五个字符。
这有助于让各列中的数字对齐。
print(string.format("[%5d]", 42))
print(string.format("[%-5d]", 42))使用零填充
在 % 后添加 0,即可使用零而不是空格进行填充。%03d 会将 7 转换为 007。
这非常适合时钟显示和使用零填充的 ID。
print(string.format("%02d:%02d", 9, 5))混合使用数字和文本
您可以在一个模板中组合多个占位符,其中包括用于字符串的 %s。
这些值会按照从左到右的顺序,与占位符依次对应。
print(string.format("%s has %d points", "Ada", 95))使用 tostring 进行连接
对于简单的输出,您也可以使用 tostring() 将数字转换为文本,再用 .. 运算符将其连接起来。
这种方式不如 string.format 灵活,但处理基本消息时更加快捷。
local n = 7
print("Value is " .. tostring(n))十六进制和其他进制
string.format 还可以用其他进制显示整数。使用 %x 表示小写十六进制,使用 %X 表示大写十六进制。
处理颜色或底层数值时,这会很方便。
print(string.format("%x", 255))
print(string.format("%X", 255))快速检查
测试您对数字格式化的掌握情况。
回顾
您学会了使用 string.format() 和 %d、%f、%x 等占位符格式化数字。
精度(%.2f)、字段宽度(%5d)和零填充(%03d)让您可以精确控制显示效果,而 tostring() 与 .. 则适用于快速处理简单情况。
您已经完成了 Lua 数字与数学这一部分的学习。做得很好!
常见问题解答
「数字格式化」课时是免费的吗?
是的 — 「数字格式化」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Lua Academy 课程的其余内容,请升级到 CoddyKit PRO。 Lua Academy 课程共包含 4 节课。
「数字格式化」这节课中我会学到什么?
美观地显示数字。 你通过在浏览器中直接运行的动手代码来练习 Lua Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Lua Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Lua Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「数字格式化」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Lua Academy 课中编写并运行代码吗?
能。每节 Lua Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。