2014-01-28 22 views
1

對於十進制錯誤,當我轉換爲十進制代碼時,顯示值太大或太小。當我轉換爲十進制時,「值對於十進制值太大或太小」錯誤

decimal tempValues = 0; 
Value1 = 0.0 
Value2 = 0.0 
tempValues = Convert.ToDecimal(Value1/Value2); 

你能幫我解決這個問題嗎?

在此先感謝。

+2

如果你不能在計算器上做零除零,你爲什麼能夠在代碼中做到這一點? – Liath

+2

除以零... – Plue

+1

@Lath他剛剛被零除(準確地說是正值'0.0'),沒有問題。直到他試圖將商轉換成另一種類型時,麻煩纔出現, –

回答

6

該文本有點混亂。更準確的消息將是NaN無法轉換爲Decimal,因爲該類型不支持

隨着Double,計算不會拋出異常,但你可能最終得到的值,如PositiveInfinityNegativeInfinity和(如在這種情況下)NaN(意思是「不是一個數字」)。 Decimal不支持這些值。

此外,Double可以代表一些巨大的價值,像1E+50(這個數字1後跟50 0位),這是太大的Decimal結構。

0

你想解決什麼問題?

- 您不能devide 0
- 雙會顯示爲NaN,你不能轉換爲十進制
- 「試圖除以零」小數會拋出異常DevideByZero

decimal tempValues = 0; 
decimal Value1 = 0.0m; 
decimal Value2 = 0.0m; 
tempValues = Value1/Value2;