掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NET文字が数値型に変換できるか確認するには (ID:84156)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> ある文字が数値型に変換できるかどうか確認するにはどうしたら > いいのでしょうか?? システム要件によって、「数値」の許容範囲は異なると思います。 たとえば、全角半角の扱いをどうするのか、負数や小数はOKなのか、 極端に大きい数値などは許可されるのか、空文字列はNGなのか、 ローマ数字は許容するのか、16進数表記や8進数表記はOKなのかなど…。 それによって、コーディング方法も変わってくると思いますので、 まずは、そのあたりの仕様をきっちり決めておくのが先決かと。 で。 簡単なところでは、Microsoft.VisualBasic.Information.IsNumeric が使えます。 書式を細かく定義する必要がある場合は、正規表現でどうぞ。 Private Sub Changed(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Dim F(4) As Boolean F(0) = IsNumeric(TextBox1.Text) F(1) = (New System.Text.RegularExpressions.Regex("^\d+$")).IsMatch(TextBox1.Text) F(2) = (New System.Text.RegularExpressions.Regex("^\d+$")).IsMatch(TextBox1.Text) F(3) = TextBox1.TextLength > 0 F(4) = TextBox1.TextLength > 0 Dim Ch As Char For Each Ch In TextBox1.Text.ToCharArray() F(3) = F(3) And Char.IsDigit(Ch) F(4) = F(4) And Char.IsNumber(Ch) Next Label1.Text = String.Format("IsNumeric関数={0}", F(0)) Label2.Text = String.Format("正規表現 \d+ ={0}", F(1)) Label3.Text = String.Format("正規表現 \d* ={0}", F(2)) Label4.Text = String.Format("Char.IsDigit ={0}", F(3)) Label5.Text = String.Format("Char.IsNumber={0}", F(4)) End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.