format

From Bohemia Interactive Community
Revision as of 15:43, 22 February 2017 by Killzone Kid (talk | contribs) (see also)
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Composes a string containing other variables or other variable types. Converts any variable type to a string. If you want to convert a string back to a number, use parseNumber.
Groups:
Uncategorised

Syntax

Syntax:
String = format [formatString, var1, var2 ...]
Parameters:
[formatString, var1, var2 ...]: Array
formatString: String - a string containing text and/or references to the variables listed below in the array. The references appear in the form of %1, %2 etc.
var1: Any Value - variable referenced by %1
var2: Any Value - variable referenced by %2
Return Value:
String - The full string 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), "%"]; }]; hints "You just sustained 20% damage!"

Additional Information

See also:
formatTextendl

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Unknown
The format command is very strong in combination with call. Dynamic code can be created using format and then executed with call.
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.
Killzone_Kid
In Arma 3 the max length of String returned by format command seems to be 8191 characters. formatText doesn't seem to have this limitation.

Bottom Section

Posted on March 28, 2015 - 09:22 (UTC)
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]
Posted on January 2, 2016 - 10:22 (UTC)
Killzone Kid
In addition to the note above, you may consider using joinString instead of format or formatText workaround. joinString is a fraction faster than format and it has no limit on the length of the string (apart from global String limit obviously)