Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
00と入力したいのですが、0となってしまう
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9268#CommentId12341
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るきお
 (社会人)
投稿日時
2009/8/11 05:42:14
今VB6が手元にないので確認はしていませんが、
こうです。
Private
Sub
cmd_no_Click()
Dim
aa
As
String
aa =
"00"
comb1.Text = aa
End
Sub
画面上に文字を表示する場合、どのような手段であれそれは文字列型になります。
一方、かんたさんのコードでは aa = 00 となっており、これは以下の2つの理由で数値と解釈されます。
1." がついていない
2.aaがIntegerで宣言されている。
※このどちらか片方の理由だけで数値になります。これを解消したのが上述の私の例です。
数値の場合 00 と 0 は同じ意味です。むしろ 0 のほうが自然です。
ですので、これを画面に表示しようとするときに文字列への変換が自動的に行われるのですが、VBは"0"へと変換します。そのため表示は "0" になります。
IntegerやLongなどの数値型は先頭の0はすべて無視します。
数学的にはこの方がすっきりして理にかなっています。
例
0001 → 1
02 → 2
000 → 0
なので、繰り返しになりますが、
aa = 00
とすると aa は 0 になります。
00と指定したのだから、文字列にするときに気を利かせて "00" にするという考え方もないことはないかもしれませんが、そのようなプログラム言語は聞いたことがありません。
一度 aa に値がセットされると、後になってセットするときにどのような指定がされたのかということはコンピューターにはわからなくなります。
こんなところでいかがでしょうか?