[c#] Specified cast is not valid.. how to resolve this

I have the below function

public object Convert(object value)
 {
    string retVal = string.Empty;
    int oneMillion = 1000000;
    retVal = ((double)value / oneMillion).ToString("###,###,###.###");
    return retVal;
 }

I am invoking like

var result  = Convert(107284403940);

Error: "Specified cast is not valid."

how to fix...

Note:~ the object value can be double, decimal, float, integer(32 and 64)..anything

Is it possible to do the typecasting at runtime?

This question is related to c#

The answer is


If you are expecting double, decimal, float, integer why not use the one which accomodates all namely decimal (128 bits are enough for most numbers you are looking at).

instead of (double)value use decimal.Parse(value.ToString()) or Convert.ToDecimal(value)