はじめまして。VB超初心者です。
よろしくお願いします。
VB.NET2005です。
テキストファイルから1行ずつ読み込んだ文字列の変数LogLineを
変数LogLineの中に数字0があったら、1があったらとif文で判別したいと考えてます。
文字列から取得した変数Suuziを
If Suuzi = 0 Thenにした際
Option Strict を Onで開発してるため 'String' から 'Double' への暗黙的な変換はできません。のエラーが出てしまいます。
文字列を読み込んで取得した文字をinterger型にするにはどうしたらよいのでしょうか?
Dim LogLine As String
Dim suuzi As String
suuzi = Microsoft.VisualBasic.Left(LogLine, 1)
If suuzi = 0 then
Aを実行する。
ElseIf CheckNumber = 1 Then
Bを実行する。
End If
考えていることとやっていることの違いが明らかでないので,
重要なところがよくわかりません.
今のところ,質問文からは
・変数SuuziをInteger型の値として解釈させるにはどうすればいいのかききたい
・変数SuuziがString型なのに対して,なぜ `= 0` と数値として解釈させようとしているのか?
・変数Suuziと If-Then で関係を持つ,変数CheckNumberはどういう関係なのか?(ElseIf Suuzi = 1 Then ... の間違い?)
などが浮かんできます.
質問の最初の変数LogLine 関係の説明をすっ飛ばして,
> 文字列を読み込んで取得した文字をinterger型にするにはどうしたらよいのでしょうか?
だけを議題にしたいのなら,次のURLを踏んでください.
http://msdn2.microsoft.com/ja-jp/library/system.convert.toint32(VS.80).aspx
それってInteger型にする必要があるのですか?
加減乗除を行うのでなければ、
Dim LogLine As String = "0 Aの処理をする" 'ダミー
'LogLineの取得処理がこの辺にあると仮定
Dim Suuzi As String
Suuzi = LogLine.Substring(0, 1)
If Suuzi = "0" Then
'Aの処理
ElseIf Suuzi = "1" Then
'Bの処理
ElseIf Suuzi = "2" Then
'Cの処理
End If
'とか
Select Case Suuzi
Case "0"
'Aの処理
Case "1"
'Bの処理
Case "2"
'Cの処理
End Select
でもいいと思いますが。
ガッさん、もげさんありがとうございました。
アドバイスのおかげで無事解決できました。
またわからない所があったら質問させて頂きますので
その時はまたよろしくお願いします。
解決のチェック忘れてました。
申し訳ありません。。。