c#如何将罗马数转换为数字[反之亦然]

时间:2015-09-20 04:45:13

标签: c#

c#如何将罗马数字转换为数字[反之亦然]

示例:I = 1          V = 5等。

我不知道要使用什么,条件,方法,循环等。 代码我必须得到赞赏。

1 个答案:

答案 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();
    }

希望有所帮助:)