2013-10-12 35 views
-1

我的问题是如何使我的数组接受小数值。 该代码是整数好,但我需要它调整十进制values.I试图使用Convert.ToDecimal(Console.ReadLine()),但它不会工作。这里是错误信息:如何更改此代码以接受数组内的小数值?

错误1不能将类型'decimal'隐式转换为'int'。存在明确的转换(您是否缺少演员?)

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

我真的需要它是这样的,因为我不需要为我的数组或类似的数量值预先计算数量。我需要为数组的大小输入数字,然后输入本质上为小数的数字。

下面是代码:

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(); 
} 
+3

“但它不会工作”---我们现在需要猜测异常消息吗? – zerkms

回答

3

你试过将其更改为十进制阵列(decimal[])?

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

谢谢兄弟。它的工作原理。我尝试了不同的aprouch(和失败)。只是让你我之前三:十进制[] broj =新十进制[Convert.ToDecimal(Console.ReadLine())];对不起,我可怜的英语。这是我第三天与C#和VS表示2012年。感谢您的帮助。 –

+0

@VeljkoStefanovic这很接近,但数组*的大小*必须是'int'(或者可以隐式转换为“int”)。所以你把size看作一个int,然后你可以把每个元素都看成一个double。快乐编码:) –

1

好吧,如果你想要数组内的输入值是一个小数,那么你应该初始化数组为十进制数组。

int[] intArray = new int[<size of the array>]; 
decimal[] decimalArray = new decimal[<size of this array>]; 

希望有帮助。

相关问题