开发者

Specified cast is not valid.. how to resolve this

I have the below function

public object Convert(object value)
 {
    string retVal = string.Empty;
    int oneMillio开发者_Go百科n = 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?


Use Convert.ToDouble(value) rather than (double)value. It takes an object and supports all of the types you asked for! :)

Also, your method is always returning a string in the code above; I'd recommend having the method indicate so, and give it a more obvious name (public string FormatLargeNumber(object value))


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)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜