2013-10-12 71 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>]; 

希望有幫助。

相關問題