2012-10-04 23 views

回答

3

你應該能夠做一個int myInt = Convert.ToInt32(numBox.Value);

numBox.Value是一個小數,但該代碼將導致其獲得轉換爲整數。

只要知道如果你得到一個十進制數值,它會向上或向下四捨五入。

編輯: 如果你只想要正值,Aghilas Yakoub的解決方案可能會更好。我的解決方案將小數轉換爲int,但它仍然可以允許使用負數。真的是你應該做的是設置你numBox.Minimum爲0,因此它不能低於0

編輯2: 如果您想提醒當值是負的,試試這個:

int myInt = Convert.ToInt32(numBox.Value); 
if (myInt < 0) 
{ 
    MessageBox.Show("Warning, your number must be 0 or greater"); 
} 

待辦事項你想警告,如果該值不是一個整數(有十進制值)?

+0

我應該更具體,我不需要詳談,我需要messagebox.show(「」)警告無效條目。雖然謝謝! –

+0

查看我更新的答案。這將警告當它是否定的。 –

+0

謝謝!這工作得很好。我的英雄! –

0

您可以

UInt32 result = 0; 

UInt32.TryParse("...", 
       new CultureInfo(""), 
       out result); 

if(result == 0) 
{ 
    Console.WriteLine("No parsing"); 
} 
else 
{ 
Console.WriteLine("result={0}", result); 
} 
+0

對不起,我很小心,但我怎麼能定義CultureInfo,因爲它說它沒有使用。有沒有一種方法,我可以將其轉換爲警告消息,messagebox.show(「」),而不是隻是四捨五入? –

+0

我更新了Jamaul我的帖子 –

0

嘗試一個更優雅的解決辦法是:

如果你有機會獲得的DevExpress控制,你應該使用SpinEdit控制。 要限制它的範圍從0到999(僅整數)設置其:

  • Properties.Mask.EditMask「## 0;」
  • Properties.MaxValue

然後將下面的行應無例外地工作得很好:

int myInt = Convert.ToInt32(numBox.Value); 
相關問題