format

From Bohemia Interactive Community
Revision as of 21:15, 27 March 2017 by Tofof_bi_wiki (talk | contribs) (clarify return)
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. NOTE that output of this command is limited to ~8Kb. joinString on the other hand doesn't have such limit.
Groups:
Uncategorised

Syntax

Syntax:
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 (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), "%"]; }]; hints "You just sustained 20% damage!"

Additional Information

See also:
formatTextendlstrtoStringjoinString

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

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)