我有以下代码:
double shortfall = GetSomeNumber(); //3.3588548831176006E+29
if (shortfall > 0)
{
returnValue = Convert.ToDecimal(shortfall);
}
这会产生上述错误。
有人可以帮我吗?
答案 0 :(得分:26)
嗯,这是相当不言自明的。
decimal.MaxValue
是79,228,162,514,264,337,593,543,950,335 - 您的电话号码大于此数。
虽然decimal
的精确度高于double
,但double
的范围更大 - 它可以处理非常非常大的非常非常小的数字。
现在,如果你可以告诉我们你真正想要做什么,我们可以尝试帮助找到解决方案......将double
和decimal
混合起来很少是个好主意。说实话。
答案 1 :(得分:11)