toFixed: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>") |
Lou Montana (talk | contribs) m (Text replacement - "<code>([^\[]+)<\/code>" to "<sqf>$1</sqf>") |
||
Line 10: | Line 10: | ||
|descr= Converts a number into a string, keeping the specified number of decimals. If the desired number of decimals is higher than the actual number, nulls are added to create the desired decimal length. This command is almost identical in behaviour to JavaScript [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed toFixed()]<br><br> | |descr= Converts a number into a string, keeping the specified number of decimals. If the desired number of decimals is higher than the actual number, nulls are added to create the desired decimal length. This command is almost identical in behaviour to JavaScript [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed toFixed()]<br><br> | ||
'''NOTE:''' Converted number is never presented in scientific notation unlike with other number to string commands. Also Arma's default string conversion limits numbers to 6 {{Wikipedia|Significant_figures|significant figures}}, whereas with this command it is possible to preserve some extra precision. | '''NOTE:''' Converted number is never presented in scientific notation unlike with other number to string commands. Also Arma's default string conversion limits numbers to 6 {{Wikipedia|Significant_figures|significant figures}}, whereas with this command it is possible to preserve some extra precision. | ||
< | <sqf>str (pi/100000); //"3.14159e-005" - scientific notation | ||
(pi/100000) toFixed 10; //"0.0000314159" - no scientific notation | (pi/100000) toFixed 10; //"0.0000314159" - no scientific notation | ||
str pi; //"3.14159" - 6 significant figures (default) | str pi; //"3.14159" - 6 significant figures (default) | ||
pi toFixed 6; //"3.141593" - forced to 7 significant figures | pi toFixed 6; //"3.141593" - forced to 7 significant figures | ||
pi toFixed 7; //"3.1415927" - forced to 8 significant figures</ | pi toFixed 7; //"3.1415927" - forced to 8 significant figures</sqf> | ||
Since Arma 3 v1.72 an alternative syntax is added, which takes no number and returns [[Nothing]]. Instead it acts as keyword and switches engine [[Number]] to [[String]] global conversion into desired format, from the moment it is applied until the end of script. To reset output back to default at any time, use {{hl|toFixed -1}}. For example: | Since Arma 3 v1.72 an alternative syntax is added, which takes no number and returns [[Nothing]]. Instead it acts as keyword and switches engine [[Number]] to [[String]] global conversion into desired format, from the moment it is applied until the end of script. To reset output back to default at any time, use {{hl|toFixed -1}}. For example: | ||
< | <sqf>systemChat str position player; | ||
call | call | ||
{ | { | ||
Line 25: | Line 25: | ||
systemChat str position player; | systemChat str position player; | ||
toFixed -1; | toFixed -1; | ||
systemChat str position player;</ | systemChat str position player;</sqf> | ||
The result is: | The result is: | ||
* {{hl|[11580.3,11797.7,0.00146675]}} | * {{hl|[11580.3,11797.7,0.00146675]}} |
Revision as of 20:08, 13 May 2022
Description
- Description:
- Converts a number into a string, keeping the specified number of decimals. If the desired number of decimals is higher than the actual number, nulls are added to create the desired decimal length. This command is almost identical in behaviour to JavaScript toFixed()
NOTE: Converted number is never presented in scientific notation unlike with other number to string commands. Also Arma's default string conversion limits numbers to 6 significant figures, whereas with this command it is possible to preserve some extra precision.Since Arma 3 v1.72 an alternative syntax is added, which takes no number and returns Nothing. Instead it acts as keyword and switches engine Number to String global conversion into desired format, from the moment it is applied until the end of script. To reset output back to default at any time, use toFixed -1. For example:The result is:systemChat str position player; call { toFixed 6; systemChat str position player; }; systemChat str position player; toFixed -1; systemChat str position player;- [11580.3,11797.7,0.00146675]
- [11580.341797,11797.737305,0.001467]
- [11580.341797,11797.737305,0.001467]
- [11580.3,11797.7,0.00146675]
- Groups:
- MathStrings
Syntax
- Syntax:
- number toFixed decimals
- Parameters:
- number: Number - number to convert
- decimals: Number - number of decimals to display (range 0-20)
- Return Value:
- String
Alternative Syntax
- Syntax:
- toFixed decimals
- Parameters:
- decimals: Number - number of decimals to display (range 0-20). -1 to reset to default number of decimals
- Return Value:
- Nothing
Examples
- Example 1:
- 123 toFixed 2; // "123.00"
- Example 2:
- 2.34 toFixed 1; // "2.3" 2.35 toFixed 1; // "2.4"
- Example 3:
- Convert position to string preserving position precision:
fn_posToString = { format [ "[%1,%2,%3]", _this select 0 toFixed 8, _this select 1 toFixed 8, _this select 2 toFixed 8 ] }; str getPos player; // "[3231.05,171.802,0.00143862]" getPos player call fn_posToString; // "[3231.04882813,171.80192566,0.00143862]"
- Example 4:
- Same as Example 3 only using new alternative syntax:
str getPos player; // "[3231.05,171.802,0.00143862]" toFixed 8; str getPos player; // "[3231.04882813,171.80192566,0.00143862]"
Additional Information
- See also:
- toString toArray toLower toUpper toLowerANSI toUpperANSI
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
- Posted on September 2, 2016 - 21:56 (UTC)
- R3vo
-
parseNumber (3.56346 toFixed 4); //0.0026 ms (10000 cycles)
[3.5634,4] call BIS_fnc_cutDecimals; //0.0111 ms (10000 cycles)