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

投稿日: 2004/12/20(Mon) 15:32
投稿者NAO
Eメール
URL
タイトルRe^2: 数字列の長さについて

返事ありがとうございます。

LenB(StrConv("20040501", vbFromUnicode))の
"20040501"は、実はText1(テキストボックス)に入力したもので、
実際は、LenB(StrConv(Text1, vbFromUnicode))になるのですが、
この場合、
Len(StrConv(Text1, vbFromUnicode)) = 4
LenB(StrConv(Text1, vbFromUnicode)) = 8
になります。
テキストボックスに入力すると、何か違うのでしょうか。
すいませんが、ご返答よろしくお願いします。


> > みなさんこんにちは
> > 実は初歩的な質問です。
> > テキストボックスに、20040501(小文字)と入力して
> > len と lenb で値を取得した所、
> > 8 と 16 で返ってきます。
> > 数字なのでコード変換をしなければならないと思うのですが、
> > やり方が分かりません。
> > 主旨は、上記の場合len と lenbでは同様に8と値が返ってきて欲しい。
> > 事と、20040501(大文字)の場合は、lenbの場合16と返って
> > きて欲しいです。
> > どなたかご存知の方教えて下さい。
> > よろしくお願いします。
>
> VBは、文字列を内部ではUNICODEで処理しているので、全角・半角とも
> 2バイトになります。
>
> 半角を1バイト、全角を2バイトとして扱いたい場合は、Shift-JISに
> 変換してやらなければなりませんが、これはStrConv関数で出来ます。
>
> Debug.Print LenB("20040501") '16
> Debug.Print LenB("20040501") '16
> Debug.Print LenB(StrConv("20040501", vbFromUnicode)) '8
> Debug.Print LenB(StrConv("20040501", vbFromUnicode)) '16


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

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

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