stock Arabic2Roman(number, szNumber[], len){
szNumber[0] = '^0';
if(len <= 0) return;
static const szNumbers[][] = {"M", "DM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
static iNumbers[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
while(number){
for(new i=0;i< sizeof(iNumbers); i++){
if(number >= iNumbers[i]){
add(szNumber, len, szNumbers[i]);
number -= iNumbers[i];
break;
}
}
}
}
Przykład:
new szRoman[32]; Arabic2Roman(3, szRoman, 31); log_amx("%s", szRoman);// III Arabic2Roman(15, szRoman, 31); log_amx("%s", szRoman);// XV