VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/08/07(Mon) 12:21
投稿者花ちゃん
Eメール
URL
タイトルRe: VBでの文字列の扱いについて

> if cstr("0E00") = 0 then    →    true
>
> 文字列として扱われないで指数として扱われているようなのです
> ちなみにVB.NET2003、VB2005でも同じ現象がでていました

文字列と数値と比較しているので、数値として判断しているのです。
(型あわせをしないと、VBの方で勝手に型合せをやってしまうので)

if cstr("0E00") = "0" then 又は If CStr("0E00") = CStr(0) Then で比較しないと

    Debug.Print "123" + 20   '143
    Debug.Print "123" + "20"    '12320

    Debug.Print 123 + "123"     '246
    Debug.Print 123 & "123"     '123123

このように暗黙の変換が行われるのです。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -