回答編集履歴
5
追記
answer
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
**public static boolean isNumber(String str)**
|
9
9
|
Deprecated. This feature will be removed in Lang 4.0, use isCreatable(String) instead
|
10
10
|
Checks whether the String a valid Java number.
|
11
|
+
> [中略]
|
12
|
+
> Non-hexadecimal strings beginning with a leading zero are treated as octal values. Thus the string 09 will return false, since 9 is not a valid octal value.
|
11
13
|
|
12
14
|
引用元: [NumberUtils (Apache Commons Lang 3.9-SNAPSHOT API)](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/math/NumberUtils.html#isNumber-java.lang.String-)
|
13
15
|
|
4
追記
answer
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
数値を0から書き始めた場合8進数と見做されます。
|
4
4
|
その場合`011`と`063`は合法ですが、`068`と`084`は 0~7 以外の文字を含むので違法です。
|
5
5
|
|
6
|
+
isNumberは、『数値として解釈できるか』判定するようです。
|
7
|
+
> **@Deprecated**
|
8
|
+
**public static boolean isNumber(String str)**
|
9
|
+
Deprecated. This feature will be removed in Lang 4.0, use isCreatable(String) instead
|
10
|
+
Checks whether the String a valid Java number.
|
11
|
+
|
12
|
+
引用元: [NumberUtils (Apache Commons Lang 3.9-SNAPSHOT API)](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/math/NumberUtils.html#isNumber-java.lang.String-)
|
13
|
+
|
6
14
|
解消法
|
7
15
|
---
|
8
16
|
単に数字のみで構成されているという判定がしたいなら、isDigitsだけ使えば良いかと。
|
@@ -10,4 +18,6 @@
|
|
10
18
|
Checks whether the String contains only digit characters.
|
11
19
|
Null and empty String will return false.
|
12
20
|
|
13
|
-
引用元: [NumberUtils (Apache Commons Lang 3.9-SNAPSHOT API)](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/math/NumberUtils.html#isDigits-java.lang.String-)
|
21
|
+
引用元: [NumberUtils (Apache Commons Lang 3.9-SNAPSHOT API)](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/math/NumberUtils.html#isDigits-java.lang.String-)
|
22
|
+
|
23
|
+
isNumberは目的に沿いませんし、しかもDeprecated(非推奨)です。
|
3
追記
answer
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
> "011"や"063"などの文字列はこのifに引っかからずエラーとならなかったのですが、なぜか"068"、"084"など一部の値はこのチェックに漏れてエラーとなってしまいました。
|
2
2
|
|
3
3
|
数値を0から書き始めた場合8進数と見做されます。
|
4
|
-
その場合`011`と`063`は合法ですが、`068`と`084`は 0~7 以外の文字を含むので違法です。
|
4
|
+
その場合`011`と`063`は合法ですが、`068`と`084`は 0~7 以外の文字を含むので違法です。
|
5
|
+
|
6
|
+
解消法
|
7
|
+
---
|
8
|
+
単に数字のみで構成されているという判定がしたいなら、isDigitsだけ使えば良いかと。
|
9
|
+
> **public static boolean isDigits(String str)**
|
10
|
+
Checks whether the String contains only digit characters.
|
11
|
+
Null and empty String will return false.
|
12
|
+
|
13
|
+
引用元: [NumberUtils (Apache Commons Lang 3.9-SNAPSHOT API)](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/math/NumberUtils.html#isDigits-java.lang.String-)
|
2
修正
answer
CHANGED
@@ -1,1 +1,4 @@
|
|
1
|
+
> "011"や"063"などの文字列はこのifに引っかからずエラーとならなかったのですが、なぜか"068"、"084"など一部の値はこのチェックに漏れてエラーとなってしまいました。
|
2
|
+
|
1
|
-
|
3
|
+
数値を0から書き始めた場合8進数と見做されます。
|
4
|
+
その場合`011`と`063`は合法ですが、`068`と`084`は 0~7 以外の文字を含むので違法です。
|
1
修正
answer
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
間違えて投稿しました。編集しますのでしばらくお待ちください。
|