Arma 3 Scripting

Command in Strings

format

Also available as Markdown and JSON, or read the original wiki page.

Description

Composes a string containing other variables or other variable types. Converts any variable type to a string.

Important

  • To convert a string back to a number, see parseNumber.
  • joinString can be a bit faster, without string length limitation.

Note

  • the maximum length of the string is 8,388,608 characters (was 8191 before)
  • two consecutive percent symbols will be formatted to a single percent symbol in the final string (see #Example 3) Since Arma 3 v2.18

Syntax

format [formatString, var1, var2, ...]

Parameters:

Returns: String - the full string (up to 8kb, see above) is returned.

Examples

Example 1

format ["Player:%1, player's side:%2", player, side player]; // returns "Player:WEST 1-1-A:1 (Username), player's side:WEST"

Example 2

player addEventHandler ["HandleDamage", {
    hint format ["You just sustained %1%2 damage!", ceil ((_this select 2) * 100), "%"];
}]; // Shows "You just sustained 20% damage!"

Example 3

// Since Arma 3 v2.18 two consecutive percent symbols will be formatted to a single percent symbol in the final string (%% -> %)
player addEventHandler ["HandleDamage", {
    hint format ["You just sustained %1%% damage!", ceil ((_this select 2) * 100)];
}]; // Shows "You just sustained 20% damage!"

See also

formatText · endl · str · toString · joinString

Community notes

Worldeater

The maximum number of characters returned by the format command seems to depend on the total byte count. For plain ASCII strings the limit is 2048 characters.

Heeeere's Johnny!

In addition to the note above, formatTexted strings are Structured Text, hence cannot be used like formatted strings (with most scripting commands). A workaround to get strings of type String with more than 8191 characters is:

str formatText ["%1", _string]