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

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

> みなさんこんにちは
> 実は初歩的な質問です。
> テキストボックスに、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 -