当我转换为十进制时,“值对于十进制来说太大或太小”错误

时间:2014-01-28 10:16:51

标签: c#

值太大或太小,无法在转换为十进制代码时显示十进制错误。

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

你能帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:6)

文字有点令人困惑。更准确的消息是由于该类型不支持<{em>},因此无法将值NaN转换为Decimal

使用Double,计算永远不会引发异常,但您最终可能会使用PositiveInfinityNegativeInfinity和(如本案例中)NaN(这意味着)等值“不是一个数字”)。 Decimal中不支持这些值。

此外,Double可以表示一些巨大的值,例如1E+50(数字1后跟50 0个数字),对{{1}来说太大了结构。

答案 1 :(得分:0)

你想解决什么?

- 你不能偏离0 - Double将显示您无法转换为十进制的NaN - 小数将抛出DevideByZero异常“试图除以零。”

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