Java 如何使用String.charAt(索引)从字符串返回整数值;
给定一个变量aJava 如何使用String.charAt(索引)从字符串返回整数值;,java,Java,给定一个变量astringnumber=“1234567” 是否有一种更简单的方法可以将值2返回到整数,而无需自动装箱和取消装箱该值。 我尝试了intnum=number.charAt(1)没有返回2,而是返回Unicode索引“2”。 我唯一不漂亮的选择是 String number = "1234567"; int numA = Integer.valueOf(number.substring(1,2)); int numB = Integer.valueOf(String.valueOf(
stringnumber=“1234567”代码>
是否有一种更简单的方法可以将值2返回到整数,而无需自动装箱和取消装箱该值。
我尝试了intnum=number.charAt(1)
没有返回2,而是返回Unicode索引“2”。
我唯一不漂亮的选择是
String number = "1234567";
int numA = Integer.valueOf(number.substring(1,2));
int numB = Integer.valueOf(String.valueOf(number.charAt(1));
char
是一种整数类型。由于0
,1
,…,的字符值<代码>9
是连续的
int index = 1; // or any index you like
int num = number.charAt(index) - '0';
你也可以使用
应在此上下文中使用
Integer.parseInt()
,而不是valueOf()
,因为您需要的是原语而不是装箱类。谁在乎呢?这是一个index@ribads:此中定义的字符串中字符的索引不可编译。?@pczeus:我不知道您做了什么使其不可编译,但如果将其放置在类中,则此操作有效:public static void main(String[]args){String number=“1234567”;int index=1;int num=number.charAt(index)-“0”;System.out.println(num);}
你是对的,我的错。我将代码包装在Groovy脚本中,该脚本抱怨它重载了-
,期望使用减号()
方法。执行普通Java代码时出现差异的罕见情况之一。但是,在编译失败之后,我应该在标准Java类中尝试它。我的错,这确实有效。也很有趣。很有趣的方法。这看起来是最干净的方法。好极了!!看起来很干净
String number = "1234567";
char at = number.charAt(1);
int num = Character.digit(at, 10);