Garry's Mod Wiki

string.format

  string string.format( string format, vararg formatParameters )

Description

Formats the specified values into the string given.

Arguments

1 string format
The string to be formatted.
Follows this format: http://www.cplusplus.com/reference/cstdio/printf/

The following features are not supported in Lua:

  • The n specifier
  • The * width modifier
  • The .* precision modifier
  • All length modifiers

The following specifiers are exclusive to LuaJIT:

Format Description Example of the output
%p Returns pointer to supplied structure (table/function) 0xf20a8968
%q Formats a string between double quotes, using escape sequences when necessary to ensure that it can safely be read back by the Lua interpreter "test\1\2test"
2 vararg formatParameters
Values to be formatted into the string.

Returns

1 string
The formatted string

Example

Example showing the different types of format codes.

local s = "Hello, world!" // string print(string.format("here's a string: %s", s)) // string with quotes print(string.format("here's a quoted string: %q", s)) // characters from numeric values print(string.format("%c%c%c", 65, 66, 67)) // number with an exponent print(string.format("%e, %E", math.pi, math.pi)) // float and compact float print(string.format("%f, %G", math.pi, math.pi)) // signed, signed, and unsigned int print(string.format("%d, %i, %u", -100, -100, -100)) // octal, hex, and uppercase hex print(string.format("%o, %x, %X", -100, -100, -100))
Output:
here's a string: Hello, world! here's a quoted string: "Hello, world!" ABC 3.141593e+000, 3.141593E+000 3.141593, 3.14159 -100, -100, 4294967196 37777777634, ffffff9c, FFFFFF9C