数字と文字の区別

解決


はる  2002-05-23 21:05:59  No: 104303

テキストボックス内の一番右の文字が数字なのか普通の文字なのかを
条件分岐させたいのです。
今は、select case で分岐させています。
もっといい方法があったら教えてください^^;


Say  2002-05-24 02:45:08  No: 104304

If IsNumeric(Right(Text1.Text,1)) Then
とか


たかみちえ  URL  2002-05-24 02:53:49  No: 104305

IsNumericは、=とか-とかも数字と認識してしまうそうですからねぇ、
文字コード単位で一個ずつ数字かそうでないか探していくとか…。

  あとは使えると思うのがCIntとかの型変換関数です。
これは、変換できない(つまり文字)が混ざってると、エラーを出したと思います。
それをエラーハンドラで調べれば。
  ちなみにValをつかえば、数字にできるかぎり数字にします(123あいう→123とか)、
変換できなかったら、0になります。
これを使うのも手かもしれません。
あとは、KeyPressで、文字になるキーを除外するのもいいですね、


クリリン  2002-05-24 03:13:49  No: 104306

どうもです。
IsNumericは純粋に数値のみの検査だから大丈夫だったはずですよ。
(MSDNを見る限りでは・・・)


たかみちえ  URL  2002-05-24 05:28:23  No: 104307

http://hp.vector.co.jp/authors/VA010223/
これによると、IsNumericもCIntもそうらしいですね^^;

やっぱり文字コード単位で一個ずつ調べるか、Valでやってしまって、
だめだったら0に変換してしまうか…。


Say  2002-05-26 00:32:13  No: 104308

>IsNumericは、=とか-とかも数字と認識してしまうそうですからねぇ
こういう発言は実際にテストしてからおねがいします。

IsNumeric(Right(Text1.Text,1)) の検査結果

Text1.Textの内容 , 結果
「ABC0」         , True
「ABC1」         , True
「ABC2」         , True
「ABC3」         , True
「ABC4」         , True
「ABC5」         , True
「ABC6」         , True
「ABC7」         , True
「ABC8」         , True
「ABC9」         , True
「ABC=」         , False
「ABC-」         , False
「ABC.」         , False
「ABC+」         , False
「ABC 」         , False


はる  2002-05-26 04:57:02  No: 104309

とても参考になりました♪
自分のやりたいことはできました。というか、お返事遅れて申し訳ないです^^;
みなさん、ありがとうございました〜


xxxxxx  2003-06-16 21:19:00  No: 104310

textBoxに数値のみを入力したいんだけどIsNumericを使って数値か文字か判断してメッセージボックスは出せるんだけど実行したときに最初からテキストボックスに数値以外入力できるやりかたないかな?


nanashi  2003-06-16 23:34:24  No: 104311

> テキストボックスに数値以外入力できるやりかたないかな?

聞いたこと無いです。
数値以外入力できないようにする方法なら↓

http://vbvbvb.com/jp/gtips/0701/gSetWindowLongEsNumber.html

どうでも良いけど、新しいスレッド立てた方が良いんでない?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加