• 締切済み

エラーが出てしまいます

以前質問しましたが、解決できなかったため再度質問します。 定積分を計算するプログラムで、テキストボックスにテキストファイル名を入力し、計算ボタンを押すと「System.InvalidCastException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。追加情報 : 文字列 "1.500 2.000 20" から型 'Double' へのキャストが有効ではありません。」とエラーがでてしまいます。なお、テキストファイルの内容は、 積分区間( a,b )と 積分区間の分割数n および関数値は1行目には,a とbとnが記録され,2行目以降に関数値がf(a)からf (b)まで順番に5個ずつ記録されています。 またデザインは指定されているため、変えることはできません。 ご回答よろしくお願いします。

みんなの回答

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> Input(File, N) > このように3つの部分に分けて作ったんですが なるほど・・・ファイルの読み込み時に分割したいのですね。 #VBのバージョンはVB2005でよいでしょうか? 残念ながら、Input関数は、「1.500,2.000,20」の様な、 カンマ区切りのフォーマット出なければ、分割してくれません。 「方法 : Visual Basic でコンマ区切りのテキスト ファイルを読み取る」 (http://msdn2.microsoft.com/ja-jp/library/cakac7e6(vs.80).aspx) はどうでしょう? #区切り記号指定部分を","から" "にする。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.2

Dim T As String = TextBox1.Text a=Double.Parse(T.Substring(0,T.IndexOf(" "))) b=Double.Parse(T.Substring(T.IndexOf(" ")+1,T.IndexOf(" ",T.IndexOf(" ")+1))) n=Double.Parse(T.Substring(T.INdexOf(" ",T.IndexOf(" ")+1)+1)) > "1.500 2.000 20"の区切りのスペースと" "のスペースは合わせてください。 実稼動させてないので、不具合がありましたら補足願います。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> 以前質問 が、何で、どういうプログラムにしているのか分かりませんが・・・ > 文字列 "1.500 2.000 20" から型 'Double' へのキャストが有効ではありません 「1.500 2.000 20」と言う数はありえないですよね。 「1.500」「2.000」「20」の3つの部分に分けて処理する必要があるのでは?

shiny_sumi
質問者

お礼

回答ありがとうございます。 Input(File, a) Input(File, b) Input(File, N) このように3つの部分に分けて作ったんですが、エラーになります。

関連するQ&A