类型 函数 库 string.* 返回值 字符串 修订 版本 2024.3703 关键词 字符串,格式化 另请参见 字符串
返回一个根据其参数中给定描述格式化的字符串。
更多信息,请参阅此处 的 string.format()
部分。
此函数允许您使用与 C 和 C++ 中相同的 formatstring
选项(信息)。
string.format( formatstring [, ...] ) formatstring:format( [...] )
字符串。 字符串。
字符串。可选的附加参数,遵循与标准 C 函数 printf
家族相同的规则。 唯一的区别是不支持选项/修饰符 *
、l
、L
、n
、p
和 h
,并且有一个额外的选项 q
。 q
选项将字符串格式化为适合 Lua 解释器安全读取的形式:字符串写在双引号之间,并且字符串中的所有双引号、换行符、嵌入的零和反斜杠在写入时都会被正确转义。 选项 c
、d
、E
、e
、f
、g
、G
、i
、o
、u
、X
和 x
都需要一个数字作为参数,而 q
和 s
需要一个字符串。 string.format()
不接受包含嵌入零的字符串值,除非作为 q
选项的参数。
print( string.format( "%6.2f", "1234" ) ) --> maximum of 6 characters left and 2 right of decimal: 1234.00 print( string.format( "%07d", "1234" ) ) --> leading zeros with maximum 7 characters: 0001234 print( string.format( "%s %q", "Hello", "Solar2D user!" ) ) --> string and quoted string print( string.format( "%c%c%c", 76, 117, 97 ) ) --> char: Lua print( string.format( "%e, %E", math.pi, math.pi ) ) --> exponent: 3.141593e+00, 3.141593E+00 print( string.format( "%f, %g", math.pi, math.pi ) ) --> float and compact float: 3.141593, 3.14159 print( string.format( "%d, %i, %u", -100, -10.1, -100 ) ) --> signed, signed, unsigned integer: -100, -10, 0 print( string.format( "%o, %x, %X", 10, 10, 10 ) ) --> octal, hex, hex: 12, a, A