[Turn on line numbering]
arg num;
var str, neg, methstr;
str = "";
neg = "";
// Handle negatives:
if (num < 0) {
neg = "negative ";
num = abs(num);
}
if (num >= 1000000)
return "Out of range";
if (num >= 1000) {
str = "M" * (num / 1000);
num = num % 1000;
if (num == 0)
return str;
}
if (num >= 100) {
str = str + (num / 100).roman_numeral_scheme("C", "D", "M");
num = num % 100;
if (num == 0)
return str;
}
if (num >= 10) {
str = str + (num / 10).roman_numeral_scheme("X", "L", "C");
num = num % 10;
if (num == 0)
return str;
}
if (num > 0)
str = str + num.roman_numeral_scheme("I", "V", "X");
else if (!str)
str = "";
return neg + str;
// $#Edited: 24 Jul 97 15:58 $user_scott
["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]