util.string.format
Shared
Returns a formatted string using format specifiers
Syntax
local result = util.string.format(
format,
...
)Parameters
| Type | Name | Description |
|---|---|---|
string | format | Format string containing specifiers Refer Specifiers section |
any | ... | Values to format 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 = util.string.format("Hello %s", "World")
core.engine.print("info", str) -- 'Hello World'local num = util.string.format("Number: %d", 42)
core.engine.print("info", num) -- 'Number: 42'local result = util.string.format("%d + %d = %d", 5, 3, 8)
core.engine.print("info", result) -- '5 + 3 = 8'local pi = util.string.format("Pi: %.2f", util.math.pi)
core.engine.print("info", pi) -- 'Pi: 3.14'local precise = util.string.format("%.5f", util.math.pi)
core.engine.print("info", precise) -- '3.14159'local padded = util.string.format("%05d", 42)
core.engine.print("info", padded) -- '00042'local hex = util.string.format("0x%X", 255)
core.engine.print("info", hex) -- '0xFF'local hexLower = util.string.format("0x%x", 255)
core.engine.print("info", hexLower) -- '0xff'local sci = util.string.format("%e", 1234.5)
core.engine.print("info", sci) -- '1.234500e+03'local char = util.string.format("%c", 65)
core.engine.print("info", char) -- 'A'local aligned = util.string.format("%10s", "right")
core.engine.print("info", aligned) -- ' right'local leftAligned = util.string.format("%-10s", "left")
core.engine.print("info", leftAligned) -- 'left 'local quoted = util.string.format("%q", "hello\nworld")
core.engine.print("info", quoted) -- '"hello\nworld"'local info = util.string.format("Name: %s, Age: %d, Score: %.1f%%", "Alice", 25, 95.5)
core.engine.print("info", info) -- 'Name: Alice, Age: 25, Score: 95.5%'local oct = util.string.format("%o", 8)
core.engine.print("info", oct) -- '10'local percent = util.string.format("Progress: 100%%")
core.engine.print("info", percent) -- 'Progress: 100%'