代码之家  ›  专栏  ›  技术社区  ›  Andrei Ciobanu

把字符(数字)转换成整数的“java”方法是什么

  •  26
  • Andrei Ciobanu  · 技术社区  · 15 年前

    给定以下代码:

        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

    你认为什么是 最佳方式 “把一个字符转换成一个int?(" 最佳方式 " ~= 习惯用法

    我们不是转换字符的实际数值,而是转换表示的值。

    如。:

    convert('1') -> 1
    convert('2') -> 2
    ....
    
    7 回复  |  直到 9 年前
        1
  •  44
  •   casablanca    15 年前
        2
  •  15
  •   jacobm    15 年前

    我强烈希望 Character.digit .

        3
  •  8
  •   Oliver Charlesworth    15 年前

        4
  •  3
  •   Peter Lawrey    15 年前

    如果速度是关键的(而不是验证,您可以合并结果) 例如

    char d0 = '0';
    char d1 = '4';
    char d2 = '2';
    int value = d0 * 100 + d1 * 10 + d2 - '0' * 111;
    
        5
  •  -1
  •   ben    10 年前

    转换为Ascii,然后减去48。

    (int) '7' would be 55 
    ((int) '7') - 48 = 7 
    ((int) '9') - 48 = 9 
    
        6
  •  -2
  •   Kevin Ng    7 年前

    int charValue = (charC ^ '0');
    
    推荐文章