开发者

Format exception when I am converting to Int32

开发者 https://www.devze.com 2023-01-26 06:19 出处:网络
While i am trying to c开发者_如何学JAVAonvert a value to Int32, I get an error format exception, meaning the value is not in the proper format. I think I am converting a value in right format though.T

While i am trying to c开发者_如何学JAVAonvert a value to Int32, I get an error format exception, meaning the value is not in the proper format. I think I am converting a value in right format though.


Try using Int32.TryParse() you can find documentation on MSDN


You will get FormatException in cases such next:

Convert.ToInt32("foo");
Convert.ToInt32(5.5);

because

FormatException

value does not consist of an optional sign followed by a sequence of digits (0 through 9).

MSDN


string str = "123";
int i = 0;
if (int.TryParse(str, out i))
{
    //do your logic here
}

Share your code here, you might missed something


Perhaps the hint is in "I think I am converting a value in right format though"

Are you sure your number is formatted according to your current culture?

If not, it's Int32.TryParse(String, NumberStyles, IFormatProvider, Int32%) [details here][1] that you should be using

[1]: http://Int32.TryParse Method (String, NumberStyles, IFormatProvider, Int32%)


You can always check the type of the value you are passing in to such functions by using the GetType().

The condition where I was stuck in this issue was conversion of a dynamically generated stringyfied decimal value to int. Figured out the type of the value using the GetType() and first converting it into double then int solved the problem.

0

精彩评论

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