将字符串数字转换为整数

43

我有一个字符串"1",我想将它转换为整数1

我尝试使用charAt()函数,但它返回的是49而不是1这个整数。

那么,如何将字符串"1"转换为整数1呢?


3
你看到了 String API 吗? - Rohit Jain
2
49 是字符 1 的数字等价物。要获取单个字符的数字值,可以这样做:c - '0'。因此,'1' - '0' = 1 - Obicere
@Obicere - 是的,虽然那几乎肯定不是OP想要的,但指出这一点是值得的。这是理解概念数字和其物理表示之间差异的重要步骤。 - Hot Licks
@HotLicks 如果他想要创建自己的解析方法,这将非常有用。 - Obicere
@Obicere - 是的,特别是如果他的教练分配给他从头开始编写数字解析器的任务。 (这似乎是一个流行的任务,许多人都在上面挑战失败。) - Hot Licks
5个回答

28

使用包装类。

以下是示例

int

int a = Integer.parseInt("1"); // Outputs 1

浮点数

float a = Float.parseFloat("1"); // Outputs 1.0

双倍的

double a = Double.parseDouble("1"); // Outputs 1.0

长的

long a = Long.parseLong("1"); // Outputs 1

1
根据数据类型,返回浮点型或双精度型。 - Hot Licks

8
int one = Integer.parseInt("1");

理想情况下,您应该也能捕获错误:
int i;
String s = "might not be a number";
try {
   i = Integer.parseInt(s);
} catch (NumberFormatException e) {
   //do something
}

6

Integer.parseInt恰好就是做到这一点。

int foo = Integer.parseInt("1");

4
int foo = Integer.parseInt("1");
//foo now equals 1

2
String s = "1";
int i = Integer.valueOf(s);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接