c#如何将罗马数字转换为数字[反之亦然]
示例:I = 1 V = 5等。
我不知道要使用什么,条件,方法,循环等。 代码我必须得到赞赏。
答案 0 :(得分:-1)
这应该有助于你:)
static void Main(string[] args)
{
string roman = Console.ReadLine();
int tens = 0;
int current_index = 0;
for (int i = 0; i < roman.Length; i++)
{
if (roman[i] == 'X')
tens++;
else
{
current_index = i;
break;
}
}
int result = 0;
switch (roman.Substring(current_index))
{
case "I" :
result = (tens * 10) + 1;
break;
case "II" :
result = (tens * 10) + 2;
break;
case "III" :
result = (tens * 10) + 3;
break;
case "IV" :
result = (tens * 10) + 4;
break;
case "V" :
result = (tens * 10) + 5;
break;
case "VI" :
result = (tens * 10) + 6;
break;
case "VII" :
result = (tens * 10) + 7;
break;
case "VIII" :
result = (tens * 10) + 8;
break;
case "IX" :
result = (tens * 10) + 9;
break;
}
Console.WriteLine(result);
Console.ReadLine();
}
希望有所帮助:)