Value was either too large or too small for a Decimal

后端 未结 2 1684
执笔经年
执笔经年 2021-02-18 20:05

I have the following piece of code:

double shortfall = GetSomeNumber(); //3.3588548831176006E+29

if (shortfall > 0)
{
  returnValue = Convert.ToDecimal(short         


        
2条回答
  •  鱼传尺愫
    2021-02-18 20:27

    Well, it's fairly self-explanatory.

    decimal.MaxValue is 79,228,162,514,264,337,593,543,950,335 - your number is bigger than this.

    Although decimal has a finer precision than double, double has a bigger range - it can handle very, very large and very, very small numbers.

    Now, if you could tell us what you're really trying to do, we could try to help find a solution... it's rarely a good idea to mix double and decimal, to be honest.

提交回复
热议问题