如何将String转换为int?
"1234" → 1234
如何将String转换为int?
"1234" → 1234
当前回答
对于Android开发者来说,以下是Kotlin的各种解决方案:
// Throws exception if number has bad form
val result1 = "1234".toInt()
// Will be null if number has bad form
val result2 = "1234"
.runCatching(String::toInt)
.getOrNull()
// Will be the given default if number has bad form
val result3 = "1234"
.runCatching(String::toInt)
.getOrDefault(0)
// Will be return of the else block if number has bad form
val result4 = "1234"
.runCatching(String::toInt)
.getOrElse {
// some code
// return an Int
}
其他回答
公共静态int parseInt(字符串)引发NumberFormatException
可以使用Integer.parseInt()将字符串转换为int。
将字符串“20”转换为原始int:
String n = "20";
int r = Integer.parseInt(n); // Returns a primitive int
System.out.println(r);
输出-20
如果字符串不包含可解析的整数,则将引发NumberFormatException:
String n = "20I"; // Throws NumberFormatException
int r = Integer.parseInt(n);
System.out.println(r);
公共静态Integer valueOf(字符串)引发NumberFormatException
您可以使用Integer.valueOf()。在这种情况下,它将返回一个Integer对象。
String n = "20";
Integer r = Integer.valueOf(n); // Returns a new Integer() object.
System.out.println(r);
输出-20
工具书类https://docs.oracle.com/en/
对于Android开发者来说,以下是Kotlin的各种解决方案:
// Throws exception if number has bad form
val result1 = "1234".toInt()
// Will be null if number has bad form
val result2 = "1234"
.runCatching(String::toInt)
.getOrNull()
// Will be the given default if number has bad form
val result3 = "1234"
.runCatching(String::toInt)
.getOrDefault(0)
// Will be return of the else block if number has bad form
val result4 = "1234"
.runCatching(String::toInt)
.getOrElse {
// some code
// return an Int
}
您可以使用new Scanner(“1244”).netInt()。或者询问是否存在int:new Scanner
也可以从删除所有非数字字符开始,然后解析整数:
String mystr = mystr.replaceAll("[^\\d]", "");
int number = Integer.parseInt(mystr);
但请注意,这只适用于非负数。
我有点惊讶,没有人提到将String作为参数的Integer构造函数。
因此,这里是:
String myString = "1234";
int i1 = new Integer(myString);
Java 8-整数(字符串)。
当然,构造函数将返回类型Integer,并且取消装箱操作将值转换为int。
注1:需要注意的是:此构造函数调用parseInt方法。
public Integer(String var1) throws NumberFormatException {
this.value = parseInt(var1, 10);
}
注2:已弃用:@deprecated(因为=“9”)-JavaDoc。