我被困在获取NumberFormatException的问题的最后。

我想要一个字符串,例如Wsup,并将其转换为ASCII值,结果为“ 87115117112”。

我已经用几种不同的方法成功构建了这串数字,但是当我尝试在其上使用parseInt(string)时,却出现了异常。我尝试将字符串作为字符数组打印出来以寻找隐藏的空白,我没有运气使用String.trim(),我很困惑为什么不能将其识别为有效整数。

public static int toAscii(String s){
    StringBuilder sb = new StringBuilder();
    String ascString = null;
    long asciiInt;
            for (int i = 0; i < s.length(); i++){
                sb.append((int)s.charAt(i));
                char c = s.charAt(i);
            }
            ascString = sb.toString();
            asciiInt = Integer.parseInt(ascString); // Exception here
            return 0;// asciiInt;    0 in place just to run
}


感谢您提供的任何帮助。

最佳答案

Yor asciiInt是long类型,因此可以这样做

  asciiInt =  Long.parseLong(ascString);


这是您的全部功能

public static long toAscii(String s){
        StringBuilder sb = new StringBuilder();
        String ascString = null;
        long asciiInt;
                for (int i = 0; i < s.length(); i++){
                    sb.append((int)s.charAt(i));
                    char c = s.charAt(i);
                }
                ascString = sb.toString();
                asciiInt = Long.parseLong(ascString);
                return asciiInt;
    }

10-01 21:53