如何更改此代码以接受数组内的十进制值?

时间:2013-10-12 03:05:38

标签: c# arrays console decimal

我的问题是如何让我的数组接受十进制值。 代码适用于整数,但我需要调整十进制值。我试图使用Convert.ToDecimal(Console.ReadLine()),但它不会工作。这是错误消息:

  

错误1无法将类型“decimal”隐式转换为“int”。存在显式转换(您是否错过了演员?)

问题是,如何在for循环中使用小数?

我真的需要它是这样的,因为我不需要为我的数组或类似的东西输入预先设定的数值。我需要输入数组大小的数字,然后输入一个十进制的数字。

以下是代码:

public int Unos_brojeva() 
{
    Console.WriteLine("Unesi broj clanova niza:");
    int [] broj = new int[Convert.ToInt32 (Console.ReadLine())];
    Console.WriteLine("Unesi brojeve:");
    for (int i = 0; i < broj.Length; i++)
    { 
        broj[i] = (Convert.ToInt32 (Console.ReadLine()));
    }

    Console.WriteLine("Unos je zavrsen");
    Console.ReadLine();
    return 0;
}

static void Main()
{
    BrojniNiz brojka;
    brojka = new BrojniNiz();
    brojka.Unos_brojeva();
}

2 个答案:

答案 0 :(得分:3)

您是否尝试将其更改为十进制数组(decimal[])?

decimal[] broj = new decimal[Convert.ToInt32(Console.ReadLine())];
for (int i = 0; i < broj.Length; i++)
{
    broj[i] = Convert.ToDecimal(Console.ReadLine());
}

答案 1 :(得分:1)

好的,如果你想让数组中的输入值为十进制,那么你应该将数组初始化为十进制数组。

int[] intArray = new int[<size of the array>];
decimal[] decimalArray = new decimal[<size of this array>];
希望有所帮助。