2016-04-17 13:51:39 -07:00
|
|
|
package WayofTime.bloodmagic.util.helper;
|
|
|
|
|
|
|
|
import java.util.TreeMap;
|
|
|
|
|
2016-05-02 20:56:32 -04:00
|
|
|
public class NumeralHelper
|
|
|
|
{
|
2016-04-17 13:51:39 -07:00
|
|
|
|
|
|
|
private static final TreeMap<Integer, String> romanNumerals = new TreeMap<Integer, String>();
|
|
|
|
|
2016-05-02 20:56:32 -04:00
|
|
|
static
|
|
|
|
{
|
|
|
|
romanNumerals.put(1000, "M");
|
|
|
|
romanNumerals.put(900, "CM");
|
|
|
|
romanNumerals.put(500, "D");
|
|
|
|
romanNumerals.put(400, "CD");
|
|
|
|
romanNumerals.put(100, "C");
|
|
|
|
romanNumerals.put(90, "XC");
|
|
|
|
romanNumerals.put(50, "L");
|
|
|
|
romanNumerals.put(40, "XL");
|
|
|
|
romanNumerals.put(10, "X");
|
|
|
|
romanNumerals.put(9, "IX");
|
|
|
|
romanNumerals.put(5, "V");
|
|
|
|
romanNumerals.put(4, "IV");
|
|
|
|
romanNumerals.put(1, "I");
|
2016-04-17 13:51:39 -07:00
|
|
|
}
|
|
|
|
|
2016-05-02 20:56:32 -04:00
|
|
|
public static String toRoman(int arabic)
|
|
|
|
{
|
2016-04-17 13:51:39 -07:00
|
|
|
int convert = romanNumerals.floorKey(arabic);
|
|
|
|
if (arabic == convert)
|
|
|
|
return romanNumerals.get(convert);
|
|
|
|
|
|
|
|
return romanNumerals.get(convert) + toRoman(arabic - convert);
|
|
|
|
}
|
|
|
|
}
|