ACE3/addons/common/functions/fnc_numberToDigits.sqf

41 lines
833 B
Plaintext
Raw Normal View History

/*
* Author: commy2
* Transforms a number to an array of the correspondending digits.
*
2015-09-17 16:25:02 +00:00
* Arguments:
* 0: Number to 'digitize' <NUMBER>
* 1: Set the minimal length of the returned array. Useful for getting left hand zeroes. <NUMBER>, optional
*
2015-09-17 16:25:02 +00:00
* Return Value:
2015-09-18 19:46:21 +00:00
* Digits. The maximum count is six digits. <ARRAY>
2015-09-17 16:25:02 +00:00
*
* Public: Yes
*/
2015-01-13 19:56:02 +00:00
#include "script_component.hpp"
2015-09-17 16:25:02 +00:00
params ["_number", "_minLength"];
_number = _number min 999999;
2015-03-26 02:20:17 +00:00
_number = str _number;
2015-09-17 16:25:02 +00:00
private "_length";
2015-03-26 02:20:17 +00:00
_length = count _number;
if (isNil "_minLength") then {_minLength = _length};
_minLength = _minLength min 6;
2015-03-26 02:20:17 +00:00
while {_length < _minLength} do {
_number = "0" + _number;
_length = _length + 1;
};
2015-09-17 16:25:02 +00:00
private "_digits";
2015-03-26 02:20:17 +00:00
_digits = [];
2015-09-17 16:25:02 +00:00
2015-03-26 02:20:17 +00:00
for "_x" from 0 to (_length - 1) do {
_digits pushBack parseNumber (_number select [_x, 1]);
};
2015-03-26 02:20:17 +00:00
_digits