文字列 "ok" から型 'Integer' へのキャストが有効ではありません。
は何?どういったエラーなんです?
型'Integer'は数値なので、文字列"ok"を数値にすることは出来ないという
ことでは?
環境とエラーが発生した箇所のコードをどうぞ!!
じゃどうすれば、最初、数値が入っていた、ラベルに文字列"ok"を入れられるんですか?
数値が入っていたラベルではなく数値に見える文字列が入っている
ラベルだと思います。
Labelだったら普通に
Label1.caption = "ok"
でも
Label1.caption = "100"
でも
・・・どこに問題が?
Labelに文字列を入れるだけなら、最初に入っていたのが
何かは関係ないと思います。
VB6だと暗黙の型変換がおこなわれるので、VB.NETだと
思いますが、どういうコードを書いてエラーになるの
かを掲示していただけないと適切な回答は得られない
ですよ。
キャストに関してのエラーが発生するなら、VB.NETの可能性が高いと思います。
それに質問でIntegerと記載されている時点でVB.NETですし・・・
>Labelに文字列を入れるだけなら、最初に入っていたのが
>何かは関係ないと思います。
推測ですが、リーさんは
TextBox2.Text = CInt(TextBox1.Text)
か
TextBox2.Text = CType(TextBox1.Text, Integer)
どちらかをしたかったのかな?と思います。
私なら
Try
TextBox2.Text = CType(TextBox1.Text, Integer)
Catch ex As Exception
TextBox2.Text = 0
End Try
のように組むかも?
もっといいコーティング方法があるかも?
あっ・・・・
すみません。
4番目のレスを読み飛ばしていました。
上に記載したソースと無関係でした。
>じゃどうすれば、最初、数値が入っていた、ラベルに文字列"ok"を入れられるんですか?
いや、ラベルは関係ないと思うよ。
エラーの文章通りなら、"ok"という文字を数値型に変換しようとして失敗してる
ワケだから、ラベルの文字を数値型の変数に入れようとしているコードがある
んじゃない?1行1行ステップ実行して、エラーの発生している行を特定して下さい。
そこのコードが悪いと思われます。
>じゃどうすれば、最初、数値が入っていた、ラベルに文字列"ok"を入れられるんですか?
質問の意味が分かったかも?
もしかして・・・・
「Integerで宣言されている変数にラベルの文字列"ok"をどうすれば入れることが
出来ますか?」という質問でしょうか?
それで、エラーが「文字列 "ok" から型 'Integer' へのキャストが有効ではありません。」
ということですか?
もし、こういう質問なら、提示したソースが合ってました。
TextBox2がIntegerで宣言された変数
TextBox1がラベルの文字列で・・・・・
Try
TextBox2.Text = CType(TextBox1.Text, Integer)
Catch ex As Exception
TextBox2.Text = 0
End Try
うーにゅ。そこは Try〜Catch で取るようなエラーではないので
[VB.NET]
With Me.TextBox1
If IsNumeric(.Text) Then
Me.TextBox2.Text = CStr(CInt(.Text))
Else
Me.TextBox2.Text = "0"
End If
End With
つか、サンプルプログラムとして分かり難くなってる気も…。
こっちで想像するより質問者がコード出してくれるのを待った
方が早いと思います。
型が分からない(or 曖昧な)人はファイルの先頭に
[VB6.0]
Option Explicit
[VB.NET]
Option Strict On
…って書いて下さい。って気もしますが。
話は変わりますが、最初、マグさんの
TextBox2.Text = CInt(TextBox1.Text)
のコードの意味が分からなかったけど『数値として有効なら
整数に修正する』って意味ならアリなんですね。
>話は変わりますが、最初、マグさんの
>TextBox2.Text = CInt(TextBox1.Text)・・・
聞かれてみれば、何も考えずに使っていましたw
文字列型から数字型への変換に使っていることが多いです。
ところで、リーさんからの連絡がありませ〜ん。
もしかして・・・・質問に対しての返答が難しすぎた?
もしくは、すでに解決したとか・・・・・
推測ですが・・・・・・
返事が難しい場合、その旨を書くはず、
きっと解決報告もしないまま、放置
推測ですが...
ツイート | ![]() |