2010-11-23 9 views
-3

値をInt32に変換しようとしているときに、エラー形式例外が発生します。これは、値が適切な形式でないことを意味します。私は正しいフォーマットで値を変換していると思う。Int32に変換するときの書式例外

+15

どのような価値を変換しようとしていますか?より多くの情報やスニペットをsomとして与えることができますか? – SubniC

+4

ええ、変換しようとしている値を確認する必要があります。 – Kieron

答えて

3

Int32.TryParse()を使用してみてください、あなたは次のような場合にFormatExceptionを取得しますMSDN

+0

ありがとうございますが、問題を解決するのに役立つものではありません。 – Mahavirsinh

+4

あなたの問題は何ですか? – Kane

3

上のドキュメントを見つけることができます。

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

値は、で構成されていません

FormatException

ので、オプションの記号の後ろに数字のシーケンス(0〜9)

MSDN

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

ここにあなたのコードを共有し、あなたが何か

0

を逃したかもしれない多分ヒントが

は「私はかかわらず、私は適切なフォーマットで値を変換すると思う」でありますあなたの番号はあなたの現在の文化に合わせて決められていますか?

ない場合、それはInt32.TryParse(文字列、NumberStyles、するIFormatProvider、のInt32%) [詳細はこちら] [1]あなたは

を使用する必要がありますことを、[1]:http://Int32.TryParseメソッド(String、NumberStyles、するIFormatProvider 、Int32%)

0

GetType()を使用すると、このような関数に渡す値のタイプをいつでも確認できます。

私がこの問題に突き当たった状態は、動的に生成されたの10進数の値をintに変換したことです。 GetType()を使用して値の型を調べ、最初にdouble型に変換してからint型に解決しました。

関連する問題