Type Function Library string.* Return value String Revision Release 2025.3714 Keywords string, format See also String
Returns a formatted string following the description given in its arguments.
For more information, see the string.format()
section here.
This function allows you to use the same formatstring
options in C and C++ (information).
string.format ( formatstring [, ...] ) formatstring:format( [...] ) |
String. The string.
String. Optional additional parameters that follow the same rules as the printf
family of standard C functions. The only differences are that the options/modifiers *
, l
, L
, n
, p
, and h
are not supported and that there is an extra option, q
. The q
option formats a string in a form suitable to be safely read back by the Lua interpreter: the string is written between double quotes, and all double quotes, newlines, embedded zeros, and backslashes in the string are correctly escaped when written. The options c
, d
, E
, e
, f
, g
, G
, i
, o
, u
, X
, and x
all expect a number as argument, whereas q
and s
expect a string. string.format()
does not accept string values containing embedded zeros, except as arguments to the q
option.
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 |