string.format()

类型 函数
string.*
返回值 字符串
修订 版本 2024.3703
关键词 字符串,格式化
另请参见 字符串

概述

返回一个根据其参数中给定描述格式化的字符串。

更多信息,请参阅此处string.format() 部分。

备注

此函数允许您使用与 C 和 C++ 中相同的 formatstring 选项(信息)。

语法

string.format( formatstring [, ...] )

formatstring:format( [...] )
formatstring (必填)

字符串 字符串。

[…] (可选)

字符串可选的附加参数,遵循与标准 C 函数 printf 家族相同的规则。 唯一的区别是不支持选项/修饰符 *lLnph,并且有一个额外的选项 qq 选项将字符串格式化为适合 Lua 解释器安全读取的形式:字符串写在双引号之间,并且字符串中的所有双引号、换行符、嵌入的零和反斜杠在写入时都会被正确转义。 选项 cdEefgGiouXx 都需要一个数字作为参数,而 qs 需要一个字符串。 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