public static string Get_Roman_Symbols(int Cnt, Roman_Symbol Roman_Symbol_Unit) { if (Cnt == 0) { return(""); } else if (Cnt < 4) { return(Dup_Symbol(Cnt, Roman_Symbol_Unit.Current_Roman_Symbol)); } else if (Cnt == 4) { return(Roman_Symbol_Unit.Current_Roman_Symbol + Roman_Symbol_Unit.Fivth_Roman_Symbol); } else if (Cnt == 5) { return(Roman_Symbol_Unit.Fivth_Roman_Symbol); } else if (Cnt < 9) { return(Roman_Symbol_Unit.Fivth_Roman_Symbol + Dup_Symbol(Cnt - 5, Roman_Symbol_Unit.Current_Roman_Symbol)); } else if (Cnt == 9) { return(Roman_Symbol_Unit.Current_Roman_Symbol + Roman_Symbol_Unit.Tenth_Roman_Symbol); } else { return("error"); } }
public string IntToRoman(int num) { int _num = num; int count = 0; string Roman_numerals = ""; Roman_Symbol[] Roman_Symbol_arry = new Roman_Symbol[7]; Roman_Symbol_arry[0] = new Roman_Symbol() { Current_Roman_Symbol = "M", Fivth_Roman_Symbol = "U", Tenth_Roman_Symbol = "U", integer_num = 1000 }; Roman_Symbol_arry[1] = new Roman_Symbol() { Current_Roman_Symbol = "C", Fivth_Roman_Symbol = "D", Tenth_Roman_Symbol = "M", integer_num = 100 }; Roman_Symbol_arry[2] = new Roman_Symbol() { Current_Roman_Symbol = "X", Fivth_Roman_Symbol = "L", Tenth_Roman_Symbol = "C", integer_num = 10 }; Roman_Symbol_arry[3] = new Roman_Symbol() { Current_Roman_Symbol = "I", Fivth_Roman_Symbol = "V", Tenth_Roman_Symbol = "X", integer_num = 1 }; for (int i = 0; i < 4; i++) { count = _num / Roman_Symbol_arry[i].integer_num; _num = _num % Roman_Symbol_arry[i].integer_num; Roman_numerals = Roman_numerals + Roman_Symbol.Get_Roman_Symbols(count, Roman_Symbol_arry[i]); } return(Roman_numerals); }