■95918 / ) |
Re[1]: VB,NET2013で 数値と英文字を区別したい |
□投稿者/ 魔界の仮面弁士 (2863回)-(2020/10/09(Fri) 10:50:38)
|
2020/10/09(Fri) 10:51:49 編集(投稿者)
■No95892 (年寄プログラマー さん) に返信 > www = "12" > If Char.IsNumber(www, 2) Then
Char.IsNumber は「Char(文字)」単位で調べる物であり、 「String(文字列)」のためのものではありません。
Char.IsNumber を使うなら、たとえばこのように書くことができます。
If String.IsNullOrEmpty(www) Then MessageBox.Show("文字列が空です。") ElseIf www.All(AddressOf Char.IsNumber) Then MessageBox.Show("すべて数字で構成されています。") Else MessageBox.Show("数字以外の文字が含まれています。") End If
ただし、 WebSurfer さんが指摘されている理由により、 www = "Ⅲ2" も数字のみという扱いになることに注意が必要です。
■No95904 (大谷刑部 さん) に返信 >>アルファベットと数字を区別し、異なる処理をしたいと考えています >>確認するのは2文字で空きはふくまれません >>英数字は混在しません > であれば、IsNumeric関数が一番無難な気がします。
お手軽ではありますが、この手のチェックで IsNumeric を使うのは悪手かも。
https://twitter.com/Benshi_Orator/status/1314366084921716736 http://www.synapse.ne.jp/anko/VbIsnumeric.html
|
|