FC2ブログ

数値型チェックについて

数値型チェック

指定した値が、範囲内の数値かチェックします。
ついでに半角チェックもします。このとき、sjisエンコードしてバイトチェックします。
このあたり、VBより楽になった気がします。
ただ、最小・大値のチェックについては、改良の余地があるような、、、

'==============================================================================
'
' 数値型チェック
'
' ------------------------------------------------------------------------
' 説明 : 指定した値が、範囲内の数値かチェックする
'
' ------------------------------------------------------------------------
' 引数 : strNum     チェックする値
'     dblMinValue   最小値
'     dblMaxValue   最大値
'     strErrMsg    エラーメッセージ
' 戻値 : True:成功、False:失敗
'
'==============================================================================

Public Function fncNumChk(ByVal strNum As String, ByVal dblMinValue As Double, _
ByVal dblMaxValue As Double, Optional ByRef strErrMsg As String = "") As Boolean
  Dim sjisEnc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS") 'Shift_JISエンコード用

  Try

    '--------------------------------------------------
    ' 数値型チェック
    '--------------------------------------------------

    '入力済チェック
    If strNum = "" Then
      strErrMsg = "数値が入力されていません。"
      Return False
    End If

    '全角・半角チェック
    If sjisEnc.GetByteCount(strNum) <> strNum.Length Then
      strErrMsg = "半角文字ではありません。"
      Return False
    End If

    '数値型チェック
    If Not IsNumeric(strNum) Then
      strErrMsg = "数値型ではありません。"
      Return False
    End If

    '範囲チェック
    If CDbl(strNum) < dblMinValue Or dblMaxValue < CDbl(strNum) Then
      strErrMsg = "範囲内ではありません。"
      Return False
    End If


    '--------------------------------------------------
    ' 戻り値設定
    '--------------------------------------------------

    Return True


  Catch ex As Exception

    '--------------------------------------------------
    ' エラーメッセージ作成
    '--------------------------------------------------

    strErrMsg = "数値型チェック中にエラーが発生しました。" & vbCrLf & _
          "詳細は以下のとおり" & vbCrLf & _
          "----------------------------------------------------------------------" & vbCrLf & _
          ex.Message


    '--------------------------------------------------
    ' 戻り値設定
    '--------------------------------------------------

    Return False

  End Try

End Function



【宣伝・・・(*´ω`)】

タイトルロゴ3

 システム葵では、個人様向けでも企業様向けでも、パソコン修理から、パソコン設定、パソコンの使い方、LAN環境構築、ソフトウェア開発まで、様々な実績がありますので、困ったことがあれば、お気軽にご相談下さい。
関連記事

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

検索フォーム
最新記事
カテゴリ
全記事表示リンク

全ての記事を表示する

最新コメント
プロフィール

ITLife

Author:ITLife
システム葵新井聡太です。
東京都東村山市に生まれ、ここで育ち、ここで結婚し、システムエンジニア一筋で十数年やってきました。
ここでは主に、パソコンを中心にITに関わることを備忘録として残していきたいと思います。
少しでも来ていただいた方のお役に立てたら幸いです。
m(_ _)m

p.s
ここで紹介している内容は一例です。すべては、自己責任でお願いします。

カレンダー
06 | 2019/07 | 08
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
訪問数
月別アーカイブ
リンク