
commons-langで数値を判定する
山崎良
2008-07-30 07:00:00
第3回はNumberUtilsの判定メソッド「isNumber」と「isDigits」を扱ってみよう。
NumberUtils#isNumber
NumberUtils#isNumberは、引数で指定した文字が半角の数字([0-9])の場合にのみ真を返す。
動作は以下のようになる。
- NumberUtils.isNumber("111") = true
→文字列が半角数字([0-9])のみで構成される場合にtrue - NumberUtils.isNumber(null) = false
→nullを引数に指定した場合にはfalse - NumberUtils.isNumber("") = false
→空文字列を引数に指定した場合にはfalse - NumberUtils.isNumber("112") = false
→文字列が全角数字を含む場合にはfalse - NumberUtils.isNumber("11a1") = false
→文字列がアルファベットを含む場合にはfalse - NumberUtils.isNumber("11-1") = false
→文字列が記号を含む場合にはfalse - NumberUtils.isNumber("11 1") = false
→文字列が半角スペースを含む場合にはfalse - NumberUtils.isNumber("11 1") = false
→文字列が全角スペースを含む場合にはfalse - NumberUtils.isNumber("111\n") = false
→文字列がコントロール文字を含む場合にはfalse
NumberUtils#isDigits
同じNumberUtilsには「isDigits」というメソッドもある。こちらは指定した文字列が「半角数字」もしくは「全角数字」のみで構成される場合に真を返す。
NumberUtils#isDigitsの動作は以下のようになる。
- NumberUtils.isDigits(null)) = false
- NumberUtils.isDigits("") = false
- NumberUtils.isDigits("111") = true
- NumberUtils.isDigits("111") = true(!)
- NumberUtils.isDigits("111") = true
- NumberUtils.isDigits("11a1") = false
- NumberUtils.isDigits("11-1") = false
- NumberUtils.isDigits("11 1") = false
- NumberUtils.isDigits("11 1") = false
- NumberUtils.isDigits("111\n") = false
全角数字の場合にも結果が真となる点で、NumberUtils#isNumberとは異なる。
コード内に「isNumber」と「isDigits」の両方が存在する場合には特に混乱しがちなので注意が必要だ。
folllow builer on
twitter
- 新着記事
- 特集
- ブログ
- 企画特集
-
連載!プロが語るストレージ戦略
-
データの散在と非常率運用がネック
-
連載!プロが語るストレージ戦略
-
ビッグデータ最前線!
-
モバイルデバイスもターゲットに!
-
次の一手はこれだ!
-
特集:IT最適化への道
-
連載!プロが語るストレージ戦略
-
ゼロトラストに不可欠なID管理
-
保育業界のDX(後編)
-
セキュリティの今を知る
-
話題のセキュリティ事故体験ゲーム
-
講演の見どころを紹介
-
明日からではもう遅い?!
-
IDaaSって何?
-
保育業界のDX(前編)
-
さあ、クラウドで解決しよう。
-
いままさに社会にとっての転換点
-
いまあるデータで身近な業務をDX
-
内部不正や不注意をどう防ぐ?
-
デジタルを当たり前と言えるか?
-
利便性とセキュリティの両立
-
請求書がきてからでは遅い
-
いまさら聞けない「PPAP」
-
企業DXのキモはクラウドにあり