toString: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \{\{GameCategory *\| *arma1 *\| *(New )?Scripting Commands\}\}" to "")
m (Add parseSimpleArray link)
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma1
|game1= arma1
|1.09
|version1= 1.09


|game2= arma2
|game2= arma2
Line 20: Line 20:
|gr2= Arrays
|gr2= Arrays


| Converts the supplied [[Array]] of [[Number|Numbers]] into a [[String]]. <br>
|descr= Converts the supplied [[Array]] of [[Number]]s into a [[String]] through {{Link|https://en.wikipedia.org/wiki/Unicode}} characters representation conversion, or provided [[Code]] to [[compile|compilable]] [[String]].
The numbers in the array to be converted are the decimal {{Wikipedia|Unicode|Unicode}} representations of characters.
{{Feature | Warning | This command expects array of numbers. If array contains non-number values, the following error might appear in .rpt file: <tt>Bad conversion: scalar</tt>}}


|s1= '''toString''' array
|s1= [[toString]] array


|p1= array: [[Array]]
|p1= array: [[Array]] of [[Number]]s
{{Feature|important|If ''array'' contains non-number values, the following error might appear in .rpt file: {{hl|Bad conversion: scalar}}. See [[parseSimpleArray]] for multi-type array.}}


|r1= [[String]]
|r1= [[String]] - {{Link|https://en.wikipedia.org/wiki/Unicode}} numbers converted to [[String]] of characters


|x1= <code>[[hint]] [[toString]] [65,97,338];</code> returns "AaŒ"
|s2= [[toString]] code
|x2= <code>["test","test"] [[joinString]] [[toString]] [12345] [[splitString]] [[toString]] [12345]; // ["test","test"]</code>


| [[set]], [[resize]], [[reverse]], [[select]], [[in]], [[find]], [[toArray]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[splitString]], [[joinString]], [[toLower]], [[toUpper]], [[toFixed]], [[endl]], [[format]], [[formatText]], [[toLowerANSI]], [[toUpperANSI]], [http://www.utf8-chartable.de/ Unicode Character Table]
|s2since= arma3 2.02
}}
 
|p21= code: [[Code]]
 
|r2= [[String]] - [[compile|compilable]] [[String]] from provided code


|x1= <sqf>hint toString [65,97,338]; // returns "AaŒ"</sqf>


{{GameCategory|arma2|Scripting Commands}}
|x2= <sqf>["test", "test"] joinString toString [12345] splitString toString [12345]; // ["test", "test"]</sqf>
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}


<dl class="command_description">
|x3= <sqf>
private _compilableString = toString { hint "it works!" };
hint _compilableString; // hints ' hint "it works!" '
sleep 2;
call compile _compilableString; // hints ' it works! '
</sqf>


<dt></dt>
|seealso= [[parseSimpleArray]] [[set]] [[resize]] [[reverse]] [[select]] [[in]] [[find]] [[toArray]] [[forEach]] [[count]] [[deleteAt]] [[deleteRange]] [[append]] [[sort]] [[param]] [[params]] [[arrayIntersect]] [[splitString]] [[joinString]] [[toLower]] [[toUpper]] [[toFixed]] [[endl]] [[format]] [[formatText]] [[toLowerANSI]] [[toUpperANSI]], {{Link|http://www.utf8-chartable.de/|Unicode Character Table}}
<dd class="notedate">Posted on February 10, 2015 - 21:05 (UTC)</dd>
}}
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
 
<dd class="note">
{{Note
Tabs and new lines can be created with [[toString]] [9] and [[toString]] [10], respectively. Alternatively, a new line can also be created with [[toString]] [92,110] ("\n"). If you save these strings into a variable, they can be manipulated like any other string. For example, the following code will work just fine and return the expected output:
|user= DreadedEntity
<code>_tab = [[toString]] [9];
|timestamp= 20150210210500
[[for]] "_i" [[from]] 0 [[to]] 3 [[do]]
|text= Tabs and new lines can be created with [[toString]] [9] and [[toString]] [10], respectively. Alternatively, a new line can also be created with [[toString]] [92,110] ("\n"). If you save these strings into a variable, they can be manipulated like any other string. For example, the following code will work just fine and return the expected output:
<sqf>
_tab = toString [9];
for "_i" from 0 to 3 do
{
{
_tab = _tab + ([[toString]] [9]);
_tab = _tab + (toString [9]);
};
};
[[copyToClipboard]] [[format]] ["x%1x",tab];</code>
copyToClipboard format ["x%1x",tab];
</dd>
</sqf>
}}


<dt><dt>
{{Note
<dd class="notedate">Posted on August 25, 2015 - 09:58 (UTC)</dd>
|user= Killzone_Kid
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
|timestamp= 20150825095800
<dd class="note">
|text= While you can convert any [[String]] to [[Array]] with [[toArray]] command, only numbers from 1 to 55295 (not 65535 as expected) can be successfully converted to [[String]] with [[toString]] and then back to [[Array]] with [[toArray]] without loss of data.
While you can convert any [[String]] to [[Array]] with [[toArray]] command, only numbers from 1 to 55295 (not 65535 as expected) can be successfully converted to [[String]] with [[toString]] and then back to [[Array]] with [[toArray]] without loss of data.
}}
</dd>
</dl>

Latest revision as of 12:24, 6 December 2023

Hover & click on the images for description

Description

Description:
Converts the supplied Array of Numbers into a String through Unicode characters representation conversion, or provided Code to compilable String.
Groups:
StringsArrays

Syntax

Syntax:
toString array
Parameters:
array: Array of Numbers
If array contains non-number values, the following error might appear in .rpt file: Bad conversion: scalar. See parseSimpleArray for multi-type array.
Return Value:
String - Unicode numbers converted to String of characters

Alternative Syntax

Syntax:
toString code
Parameters:
code: Code
Return Value:
String - compilable String from provided code

Examples

Example 1:
hint toString [65,97,338]; // returns "AaŒ"
Example 2:
["test", "test"] joinString toString [12345] splitString toString [12345]; // ["test", "test"]
Example 3:
private _compilableString = toString { hint "it works!" }; hint _compilableString; // hints ' hint "it works!" ' sleep 2; call compile _compilableString; // hints ' it works! '

Additional Information

See also:
parseSimpleArray set resize reverse select in find toArray forEach count deleteAt deleteRange append sort param params arrayIntersect splitString joinString toLower toUpper toFixed endl format formatText toLowerANSI toUpperANSIUnicode Character Table

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
DreadedEntity - c
Posted on Feb 10, 2015 - 21:05 (UTC)
Tabs and new lines can be created with toString [9] and toString [10], respectively. Alternatively, a new line can also be created with toString [92,110] ("\n"). If you save these strings into a variable, they can be manipulated like any other string. For example, the following code will work just fine and return the expected output:
_tab = toString [9]; for "_i" from 0 to 3 do { _tab = _tab + (toString [9]); }; copyToClipboard format ["x%1x",tab];
Killzone_Kid - c
Posted on Aug 25, 2015 - 09:58 (UTC)
While you can convert any String to Array with toArray command, only numbers from 1 to 55295 (not 65535 as expected) can be successfully converted to String with toString and then back to Array with toArray without loss of data.