我有以下代码:
double shortfall = GetSomeNumber(); //3.3588548831176006E+29 if (shortfall > 0) { returnValue = Convert.ToDecimal(shortfall); }
这就产生了上述错误。
有人能帮我吗?
好吧,这很自然。
decimal.MaxValue 电话:79228162514264337593543950335-您的电话号码大于此。
decimal.MaxValue
虽然 decimal 精度比 double , 双重的 有更大的范围-它可以处理非常,非常大,非常,非常小的数字。
decimal
double
双重的
现在,如果你能告诉我们你真正想做的是什么,我们可以帮助你找到解决办法…混合起来很少是个好主意 双重的 和 十进制的 老实说。
十进制的
这意味着返回的值不能转换为十进制,因为它太大。
Decimal 值可以介于正79228162514264337593543950335和负79228162514264337593543950335之间-请参见 MSDN .
Double 可以处理更大的数字-负1.79769313486232E308到正1.79769313486232E308。这些不能全部转换成十进制。