ACE3/addons/common/functions/fnc_toHex.sqf
2015-01-13 20:56:02 +01:00

48 lines
828 B
Plaintext

/*
Author: commy2
Description:
Converts number to hexadecimal number
Arguments:
A number
Return Value:
A hexadecimal number, String
*/
#include "script_component.hpp"
private ["_number", "_minLength", "_sign", "_hex", "_rest"];
_number = _this select 0;
_minLength = _this select 1;
if (isNil "_minLength") then {_minLength = 1};
_sign = ["", "-"] select (_number < 0);
_number = round abs _number;
_hex = ["", "0"] select (_number == 0);
while {_number > 0} do {
_rest = _number mod 16;
_rest = switch _rest do {
case 10 : {"A"};
case 11 : {"B"};
case 12 : {"C"};
case 13 : {"D"};
case 14 : {"E"};
case 15 : {"F"};
default {str _rest};
};
_number = floor (_number / 16);
_hex = _rest + _hex;
};
while {count toArray _hex < _minLength} do {
_hex = "0" + _hex;
};
_sign + _hex