值太大或太小,无法在转换为十进制代码时显示十进制错误。
decimal tempValues = 0;
Value1 = 0.0
Value2 = 0.0
tempValues = Convert.ToDecimal(Value1 / Value2);
你能帮我解决这个问题。
提前致谢。
答案 0 :(得分:6)
文字有点令人困惑。更准确的消息是由于该类型不支持<{em>},因此无法将值NaN
转换为Decimal
。
使用Double
,计算永远不会引发异常,但您最终可能会使用PositiveInfinity
,NegativeInfinity
和(如本案例中)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;