String
string.format
Shared
Returns a formatted string using format specifiers
Syntax
local result = string.format(format, ...)Parameters
| Type | Name | Description |
|---|---|---|
string | format | Format string containing specifiers Refer Specifiers section |
... | ... | Values to be formatted according to the format string |
Returns
| Type | Name | Description |
|---|---|---|
string | result | Formatted string |
Specifiers
| Specifier | Description |
|---|---|
%d / %i | Signed decimal integer |
%u | Unsigned decimal integer |
%o | Unsigned octal |
%x | Unsigned hexadecimal (lowercase) |
%X | Unsigned hexadecimal (uppercase) |
%f | Decimal floating point |
%e | Scientific notation (lowercase) |
%E | Scientific notation (uppercase) |
%g | Shortest of %e or %f |
%G | Shortest of %E or %f |
%c | Character (from byte value) |
%s | String |
%q | Quoted string |
%% | Literal percent sign |
Examples
local str = string.format("Hello %s", "World")
engine.print("info", str) --'Hello World'local num = string.format("Number: %d", 42)
engine.print("info", num) --'Number: 42'local result = string.format("%d + %d = %d", 5, 3, 8)
engine.print("info", result) --'5 + 3 = 8'local pi = string.format("Pi: %.2f", math.pi)
engine.print("info", pi) --'Pi: 3.14'local precise = string.format("%.5f", math.pi)
engine.print("info", precise) --'3.14159'local padded = string.format("%05d", 42)
engine.print("info", padded) --'00042'local hex = string.format("0x%X", 255)
engine.print("info", hex) --'0xFF'local hexLower = string.format("0x%x", 255)
engine.print("info", hexLower) --'0xff'local sci = string.format("%e", 1234.5)
engine.print("info", sci) --'1.234500e+03'local char = string.format("%c", 65)
engine.print("info", char) --'A'local aligned = string.format("%10s", "right")
engine.print("info", aligned) --' right'local leftAligned = string.format("%-10s", "left")
engine.print("info", leftAligned) --'left 'local quoted = string.format("%q", "hello\nworld")
engine.print("info", quoted) --'"hello\nworld"'local info = string.format("Name: %s, Age: %d, Score: %.1f%%", "Alice", 25, 95.5)
engine.print("info", info) --'Name: Alice, Age: 25, Score: 95.5%'local oct = string.format("%o", 8)
engine.print("info", oct) --'10'local percent = string.format("Progress: 100%%")
engine.print("info", percent) --'Progress: 100%'