- 締切済み
エラーが出てしまいます
以前質問しましたが、解決できなかったため再度質問します。 定積分を計算するプログラムで、テキストボックスにテキストファイル名を入力し、計算ボタンを押すと「System.InvalidCastException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。追加情報 : 文字列 "1.500 2.000 20" から型 'Double' へのキャストが有効ではありません。」とエラーがでてしまいます。なお、テキストファイルの内容は、 積分区間( a,b )と 積分区間の分割数n および関数値は1行目には,a とbとnが記録され,2行目以降に関数値がf(a)からf (b)まで順番に5個ずつ記録されています。 またデザインは指定されているため、変えることはできません。 ご回答よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- dsuekichi
- ベストアンサー率64% (171/265)
> 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)
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)
> 以前質問 が、何で、どういうプログラムにしているのか分かりませんが・・・ > 文字列 "1.500 2.000 20" から型 'Double' へのキャストが有効ではありません 「1.500 2.000 20」と言う数はありえないですよね。 「1.500」「2.000」「20」の3つの部分に分けて処理する必要があるのでは?
お礼
回答ありがとうございます。 Input(File, a) Input(File, b) Input(File, N) このように3つの部分に分けて作ったんですが、エラーになります。