GSmGpE6CwX2y9JjB25B8
我们使用此网站上的 Cookie 增强您的用户体验

设置字符串格式和转换字符串

设置字符串格式和转换字符串

Oct 18 2019, 2:31 PM PST

设置字符串格式用于将变量转换为用户友好的文本字符串。这是通过 string.format() 完成的,该函数需要使用此模式中的特定指令:

说明符

设置字符串格式最重要的部分是说明符

说明符 接受 输出 输出示例
c 整数型 3
di 整数型 十进制表示法。 321
eE 浮点型 使用 eE 的科学记数法。 3.296e2
3.296E2
f 浮点型 3231.1231
gG 浮点型 e/Ef 中的较短者。 3E14
3e14
o 整数型 八进制表示法。 610
q 字符串型 字符串形式适合 Lua 解释器安全读取的字符串。字符串写在双引号和所有双引号之间,新行、嵌入的零和反斜杠都正确转义。 "print(\"Hi\")"
s 字符串型/td> Hello world!
u 整数型 十进制表示法。 3131
xX 整数型 十六进制表示法。 7fa
7FA
% % 后跟另一个 % 将返回 % 符号本身。 %

标志

标志 描述
- 左对齐给定的字段宽度(请参见下面的宽度。右对齐是默认设置。
+ 强制在数字前加“+”号。对负数没有影响。
(空格) 在正数之前插入一个空格,而负数不受影响。这对于使正数和负数在可视堆叠列表中垂直对齐非常有用。
# ox/X 一起使用时,在非零值前面写一个 0(八进制)或 0x/0X(十六进制)。
e/Ef 一起使用时,即使后面没有数字,也会强制输出包含小数点(默认情况下,如果后面没有数字,则不写小数点)。
gG 一起使用时,结果与 eE 相同,但不会移除尾随零。
0 左边用零填充数字而不是用空格(请参见下面的宽度

宽度

宽度 描述
(数字) 要返回的最小字符数。如果要格式化的字符数小于此数字,则用空格填充结果。

精度

精度 描述
.(数字) 对于整数说明符(dioux/X),精度指定要返回的最小位数。如果要格式化的值小于此数字,则用前导零填充结果。精度为 0 表示不为值 0 写入任何字符。
对于 e/Ef 说明符,此选项表示要输出的小数点后的位数。
对于 g/G 说明符,这表示最大位数(在 e/E 之前,如果存在)。
对于 s,此选项表示要返回的最大字符数。
对于 cq,此选项不起作用。