web-dev-qa-db-ja.com

文字(数字)をintに変換する「Java」の方法とは

次のコードがあるとします:

    char x = '5';
    int a0 = x - '0'; // 0
    int a1 = Integer.parseInt(x + ""); // 1
    int a2 = Integer.parseInt(Character.toString(x)); // 2
    int a3 = Character.digit(x, 10); // 3
    int a4 = Character.getNumericValue(x); // 4
    System.out.printf("%d %d %d %d %d", a0, a1, a2, a3, a4);

(バージョン4クレジット: casablanca

Charをintに変換するための "best-way"は何だと思いますか? ( "best-way"〜=慣用的な方法

Charの実際の数値ではなく、表現の値を変換します。

例えば。:

convert('1') -> 1
convert('2') -> 2
....
26
Andrei Ciobanu

いかがですか Character.getNumericValue

43
casablanca

Character.digit

15
jacobm

最初の方法。これは最も軽量で直接的であり、他の(低レベルの)言語で行うことができるものに対応しています。もちろん、そのエラー処理には、何かが望まれます。

7

速度が重要な場合(検証ではなく結果を組み合わせることができます)。

char d0 = '0';
char d1 = '4';
char d2 = '2';
int value = d0 * 100 + d1 * 10 + d2 - '0' * 111;
2
Peter Lawrey