如何将String转换为int?

"1234"  →  1234

当前回答

除了所有这些答案,我发现了一种新的方法,尽管它在内部使用Integer.parseInt()。

通过使用

import javafx.util.converter.IntegerStringConverter;

new IntegerStringConverter().fromString("1234").intValue()

or

new IntegerStringConverter().fromString("1234")

尽管随着新对象的创建,它的成本有点高。

只需浏览javafx.util.StringConverter<T>类。它有助于将任何包装器类值转换为字符串,反之亦然。

其他回答

方法:

整数.parseInt整数.parseInt(s,基数)Integer.parseInt(s,beginIndex,endIndex,基数)整数.parseUnsignedInt整数.parseUnsignedInt(s,基数)Integer.parseUnsignedInt(s,beginIndex,endIndex,基数)整数.valueOf整数.valueOf(s,基数)整数.解码数字Utils.toInt(s)NumberUtils.toInt(s,默认值)


Integer.valueOf生成一个Integer对象,而所有其他方法生成一个基元int。

最后两个方法来自commons-lang3和一篇关于转换的大文章。

对于普通字符串,可以使用:

int number = Integer.parseInt("1234");

对于字符串生成器和字符串缓冲区,可以使用:

Integer.parseInt(myBuilderOrBuffer.toString());

我们来了

String str = "1234";
int number = Integer.parseInt(str);
print number; // 1234

将字符串转换为int比仅转换数字更复杂。您已经考虑了以下问题:

字符串是否只包含数字0-9?字符串之前或之后的-/+怎么了?这是可能的吗(指会计数字)?MAX_-/MIN_INFINITY怎么了?如果字符串为99999999999999999999,会发生什么?机器可以将此字符串视为int吗?

// As per your question "1234"  →  1234   
//using Integer.parseInt() method
public class StringToIntExample1{
 public static void main(String args[]){
 //Declaring String variable
  String s="1234";
 //Converting String into int using Integer.parseInt()
  int i=Integer.parseInt(s);
 //Printing value of i
  System.out.println(i);  
 }
}