/* * Author: commy2 * * Transforms a number to an array of the correspondending digits. * * Argument: * 0: Number to 'digitize' (Number) * 1: Set the minimal length of the returned array. Useful for getting left hand zeroes. (Number, optional) * * Return value: * Digits. The maximum count is six digits. (Array) */ #include "script_component.hpp" private ["_number", "_minLength", "_length", "_digits", "_index", "_count"]; _number = _this select 0; _minLength = _this select 1; _number = _number min 999999; _length = floor (log _number + 1); if !(isNil "_minLength") then {_length = (_length max _minLength) min 6}; _digits = []; if (_number < 1) exitWith { for "_index" from 0 to (_length - 1) do { _digits set [_index, 0]; }; _digits }; while { _count = count _digits; _count < _length } do { _digit = floor (_number / (10 ^ (_length - _count - 1))); { _digit = _digit - _x * (10 ^ (_count - _forEachIndex)); } forEach _digits; _digits set [_count, _digit]; }; _digits