2017-07-29 35 views
-3

我有這個錯誤,我想解決它,它說不能將小數轉換爲int,我不知道把(int)或(十進制)放在哪裏。不能轉換十進制到國際

該字符移動8pix/s並以小數點形式存儲。

赫雷什代碼

 int[,,] Map = new int[151, 151, 11]; 
    decimal GuyY = 1; 
    decimal GuyX = 1; //Placeholder for other math 

    if (Map[GuyX/32, Math.Ceiling(GuyY/32) - 1, 1] = 1) 
    { 
    } 
+0

但'guyX'和'guyY'是*不*初始化? –

+0

你應該解釋爲什麼你使用小數代碼 – Steve

+2

使用32.0和1.0。 – jdweng

回答

1

該指數[,]陣列的必須是整數。用一個整數32除整數GuyX將產生一個decimal,該值不適合作爲索引。

另外,您需要使用==來評估布爾表達式。

產生的代碼將是:

if (Map[(int)(GuyX/32), (int)Math.Ceiling(GuyY/32) - 1, 1] == 1) 
{ 

} 
+0

是的,=最後是一個意外..謝謝! – orange313