C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.55446 の関連記事表示

<< 0 >>
■55446  Re[9]: DataGridViewの内容を使ってグラフの作成をするには
□投稿者/ 魔界の仮面弁士 -(2010/12/02(Thu) 13:51:03)
    No55444 (daibo さん) に返信
    > x = (double)dataGridView1.Rows[i].Cells[1].Value;
    > の部分で、'System.InvalidCastException'のハンドルされていない例外が発生しました。
    
    まず、Value プロパティは object 型ですよね。
    そのオブジェクトの中身を double 型にキャストできなかったというエラーかと。
    
    MessageBox.Show( dataGridView1.Rows[i].Cells[1].Value.GetType().FullName );
    などとして、元の型を確認してみてください。
    
    下記の【第7章 キャストとデータ変換】あたり。
    http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
    
    
    ----------------------------------------
    object o1 = 1.23D;      // Double 型(double)
    object o2 = 1.23F;      // Single 型(float)
    object o3 = 123;        // Int32 型(int)
    object o4 = "1.23";     // String 型(string)
    
    double x;
    
    // Double 値なのでキャスト成功
    x = (Double)o1;
    
    // Double では無いのでキャストできない
    x = (Double)o2;     // 例外:InvalidCastException(実行時エラー)
    x = (Double)o3;     // 例外:InvalidCastException(実行時エラー)
    x = (Double)o4;     // 例外:InvalidCastException(実行時エラー)
    
    // 元の型にキャストしてから代入する場合
    x = (Double)(Single)o2;     // Single → Double への拡大変換はOK
    x = (Double)(Int32)o3;      // Int32 → Double への拡大変換はOK
    // x = (Double)(string)o4;     // String → Double は変換不可(コンパイルエラー)
    
    // 拡大変換の場合は暗黙変換可能
    x = (Single)o2;     // Single 値を Double 型に入れる場合は、キャストを省略できる
    x = (Int32)o3;      // Int32 値を Double 型に入れる場合は、キャストを省略できる
    
    // String からの変換には、Parse や Convert を用いる
    x = Double.Parse((string)o4);
    x = Convert.ToDouble((string)o4);
記事No.55424 のレス /過去ログ93より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -