format: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{( *)Important( *)\|" to "{{$1Feature$2|$2important$2|")
(page cleanup)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| ofp
|game1= ofp


|1.00
|version1= 1.00


|gr1= Strings
|gr1= Strings


| 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]]. <br><br>
|descr= 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]].
{{Feature | important | The output of this command is limited to ~8Kb. [[joinString]] on the other hand doesn't have such limit}}
{{Feature | important | The output of this command is limited to ~8Kb. [[joinString]] on the other hand doesn't have such limit and is a bit faster!}}


| '''format''' [formatString, var1, var2 ...]
|s1= [[format]] [formatString, var1, var2, ...]


|p1= [formatString, var1, var2 ...]: [[Array]]
|p1= 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.


|p2= 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.
|p2= var1: [[Any Value]] - variable referenced by %1


|p3= var1: [[Any Value]] - variable referenced by %1
|p3= var2: [[Any Value]] - variable referenced by %2


|p4= var2: [[Any Value]] - variable referenced by %2
|r1= [[String]] - The full string (up to 8kb, see above) is returned.
 
| [[String]] -
The full string (up to 8kb, see above) is returned.
   
   
|x1= <code>[[format]] ["Player:%1, player's side:%2", [[player]], [[side]] [[player]]];</code>
|x1= <code>[[format]] ["Player:%1, player's side:%2", [[player]], [[side]] [[player]]];{{cc|returns "Player:WEST 1-1-A:1 (Username), player's side:WEST"}}</code>
 
returns "Player:WEST 1-1-A:1 (Username), player's side:WEST"


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


hints "You just sustained 20% damage!"
|seealso= [[formatText]], [[endl]], [[str]], [[toString]], [[joinString]]
}}


| [[formatText]], [[endl]], [[str]], [[toString]], [[joinString]]
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
}}
[[Category:Scripting Commands OFP 1.96|FORMAT]]
[[Category:Scripting Commands OFP 1.46|FORMAT]]
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}


<dl class="command_description">
<dl class="command_description">
Line 41: Line 42:
<dt class="note">[[User:Worldeater|Worldeater]]<dd class="note">
<dt class="note">[[User:Worldeater|Worldeater]]<dd class="note">
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.
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.
<dt class="note">[[User:Killzone_Kid|Killzone_Kid]]<dd class="note">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.


<!-- Note Section END -->
<!-- Note Section END -->
</dl>
</dl>
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.96|FORMAT]]
[[Category:Scripting Commands OFP 1.46|FORMAT]]
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}


<!-- CONTINUE Notes -->
<!-- CONTINUE Notes -->
Line 64: Line 53:
In addition to the note above, [[formatText]]ed strings are [[Structured Text]], hence cannot be used like [[format]]ted strings (with most scripting commands). A workaround to get strings of type [[String]] with more than 8191 characters is:<code>[[str]] [[formatText]] ["%1", _string]</code>
In addition to the note above, [[formatText]]ed strings are [[Structured Text]], hence cannot be used like [[format]]ted strings (with most scripting commands). A workaround to get strings of type [[String]] with more than 8191 characters is:<code>[[str]] [[formatText]] ["%1", _string]</code>
</dd>
</dd>
<dd class="notedate">Posted on January 2, 2016 - 10:22 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
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)
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 02:06, 11 February 2021

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.
The output of this command is limited to ~8Kb. joinString on the other hand doesn't have such limit and is a bit faster!
Groups:
Strings

Syntax

Syntax:
format [formatString, var1, var2, ...]
Parameters:
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), "%"]; }];// Shows "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
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.
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]