[java]Integer.parseIntに全角の"0"を渡すと。 2010/04/19

javaです。
Integer.parseIntに全角の数字を渡すとその結果は?

変換できるみたいですね。
Integer.parseInt使って数値チェックを実装してたりしたらあやういことになるかも。

みんなさん、そんなことしてないよね!!
>_<!

内部ではCharacterクラスのdigitってのをよんでるみたい。

コード

public class Test_IntegerParseInt {

public static void main(String[] args) {
parseInt("0");
parseInt("a");
parseInt("0");// 全角
parseInt("一");
parseInt("①");
parseInt("001122");// 全角と半角まじり
}

static void parseInt(String s) {

boolean b = false;
int i = -1;
try {
i = Integer.parseInt(s);
b = true;
} catch (NumberFormatException e) {
// System.err.println(e.getMessage());
}
System.out.println("[" + s + "]:[" + i + "]:" + b);

}
}



結果
[0]:[0]:true
[a]:[-1]:false
[0]:[0]:true
[一]:[-1]:false
[①]:[-1]:false
[001122]:[1122]:true

: