
初歩的なことかも知れませんが教えてください。
VB6です。
通常テキストボックスの数字を比較する時、string型なので数字に変換して比較する必要があると思います。
が、数字に変換するのを忘れてそのまま比較した所おかしなところがありました。
VBでは自動的に数字として変換してくれるのかと思っていたのですが何故このような事になるのでしょうか?
<例>
1. int(100) > int(99) 結果:TRUE
2. cstr(99) cstr(98) 結果:TRUE
3. cstr(100) > cstr(99) 結果:FALSE
1番と2番は納得が出来ますが、3番は何故?
No.1ベストアンサー
- 回答日時:
一文字目から見ているのでは?
"100" と "99" の比較
1."1" と "9" を比較(たぶん文字コードで)
→右辺の方が大きい
→比較終了
"99" と "98" の比較
1."9" と "9" を比較
→ 同じなので次の文字へ
2."9" と "8" を比較
→左辺の方が大きい
→比較終了
数値では 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21 の順番ですが
文字列では 1, 10, 11, 2, 20, 21, 3, 4, 5, 6, 7, 8, 9 の順番となります。
なるほど。確かにそんな感じですね。
これって仕様ですか?
MSDNとかネットで探したんですがどこにも見つけられなかったんですが。
No.4
- 回答日時:
数値の比較でテキストボックスの内容が数字に限定されているなら
数値型の変数に格納して比較したほうがいいように思います
dim nText1 as Integer, nText2 as Integer
nText1 = Text1.Text
nText2 = Text2.Text
として nText1とnText2を比較すればいいと思います
Integerの範囲で収まらないようならば LongやSingleまたはDoubleなどを使いましょう
No.3
- 回答日時:
こんにちは
横からごめんなさい。#1補足です。
>これって仕様ですか?
文字コードの大小で比較しているからです。VBに限った話しではありません。
国際標準ISOコード(通常半角と呼んでいる)だと次のようになっています(タイプフェースは書体という意味ですが、フォントといった方が判りやすいかも)。
タイプ
フェース コード
'0' = &H30
'1' = &H31
'2' = &H32
'3' = &H33
'4' = &H34
'5' = &H35
'6' = &H36
'7' = &H37
'8' = &H38
'9' = &H39
VBのchr$関数で chr$(&H30) とすれば、文字'0'(ゼロ)を返します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- C言語・C++・C# C++で割り算の結果を昇順に出力するプログラムを作りたいのですが、例えば(double)100000 3 2022/07/15 17:46
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) Excelで、ゴルフ場、ボウリング場、フィットネスクラブの利用者数比較をしたいです。 しかしフィット 4 2022/11/20 22:17
- Excel(エクセル) Excelによる大小判断 3 2023/04/28 15:53
- C言語・C++・C# int temp = 0; if(isdigit(arr[i])){//文字が数字であれば(0~9) 1 2022/03/27 01:37
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
このQ&Aを見た人はこんなQ&Aも見ています
-
性格悪い人が優勝
できるだけ性格悪い人になって回答をお願いします。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
VB6 配列を初期化したい
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
-
4
変数名の付け方
Java
-
5
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
VB.Net Object型 空かどうか
Visual Basic(VBA)
-
8
VBの「As String * 128」とは?
Visual Basic(VBA)
-
9
DataGridViewで列、行、セルの選択
Visual Basic(VBA)
-
10
値を返さないコード パス
Visual Basic(VBA)
-
11
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
12
DoEventsがやはり分からない
Visual Basic(VBA)
-
13
TCP/IP通信時のサーバーからの受信
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダブルクォーテーションのrepla...
-
javascriptで文字列のsjis利用...
-
javaで質問です。 文字列2023/2...
-
カタカナをローマジに変換する。
-
半角カナ文字の変換
-
TEXTAREAからのデータを改行入...
-
半角の&(アンド)文字をサーブレ...
-
COBOLで半角カナを全角カナに変換
-
Path型をString型へ変換する(Java)
-
error C2440: 'static_cast' : ...
-
VC++にてCString型のフルパスを...
-
文字化け対策について
-
javaの初歩的な質問です。
-
文字列の比較
-
スマホでテキストボックスの随...
-
JAVAでのShift-JISとEUC-JP間の...
-
javaの日本語並び替えについて...
-
substring バイト単位でやりたい
-
javaでのOracleのデータ登録の...
-
エクセルVBAで「〜」が表現でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
javascriptで文字列のsjis利用...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
int型のゼロ埋め
-
Visual Basic でのコードをASCI...
-
JavaのStringクラスに「外字」...
-
C言語32bitから64bitの移行につ...
-
COBOLで半角カナを全角カナに変換
-
文字列の比較
-
byte型のマイナスの扱いについて
-
エクセルVBAで「〜」が表現でき...
-
javaの初歩的な質問です。
-
substring バイト単位でやりたい
-
UTF-8とUnicodeの互換性
-
カタカナをローマジに変換する。
-
半角カタカナをローマ字変換す...
-
javaの日本語並び替えについて...
-
cookie から取り出すと文字化け
-
Windows-31Jからutf-8への変換...
おすすめ情報