如何将String转换为int?
"1234" → 1234
如何将String转换为int?
"1234" → 1234
当前回答
我们可以使用Integer包装器类的parseInt(Stringstr)方法将String值转换为整数值。
例如:
String strValue = "12345";
Integer intValue = Integer.parseInt(strVal);
Integer类还提供了valueOf(Stringstr)方法:
String strValue = "12345";
Integer intValue = Integer.valueOf(strValue);
我们还可以使用NumberUtils实用程序类的toInt(StringstrValue)进行转换:
String strValue = "12345";
Integer intValue = NumberUtils.toInt(strValue);
其他回答
import java.util.*;
public class strToint {
public static void main(String[] args) {
String str = "123";
byte barr[] = str.getBytes();
System.out.println(Arrays.toString(barr));
int result = 0;
for(int i = 0; i < barr.length; i++) {
//System.out.print(barr[i]+" ");
int ii = barr[i];
char a = (char) ii;
int no = Character.getNumericValue(a);
result = result * 10 + no;
System.out.println(result);
}
System.out.println("result:"+result);
}
}
如上所述,Apache Commons的NumberUtils可以做到这一点。如果无法将字符串转换为int,则返回0。
您还可以定义自己的默认值:
NumberUtils.toInt(String str, int defaultValue)
例子:
NumberUtils.toInt("3244", 1) = 3244
NumberUtils.toInt("", 1) = 1
NumberUtils.toInt(null, 5) = 5
NumberUtils.toInt("Hi", 6) = 6
NumberUtils.toInt(" 32 ", 1) = 1 // Space in numbers are not allowed
NumberUtils.toInt(StringUtils.trimToEmpty(" 32 ", 1)) = 32;
对于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
}
使用Java integer类的parseInt方法将字符串转换为整数。parseInt方法将字符串转换为int,如果字符串无法转换为int类型,则抛出NumberFormatException。
忽略它可能引发的异常,请使用以下命令:
int i = Integer.parseInt(myString);
如果变量myString表示的字符串是有效的整数,如“1234”、“200”、“1”,它将被转换为Java int。如果由于任何原因失败,则更改可能引发NumberFormatException,因此代码应该稍长一些才能解释这一点。
例如,Java String到int的转换方法,控制可能的NumberFormatException
public class JavaStringToIntExample
{
public static void main (String[] args)
{
// String s = "test"; // Use this if you want to test the exception below
String s = "1234";
try
{
// The String to int conversion happens here
int i = Integer.parseInt(s.trim());
// Print out the value after the conversion
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
}
如果更改尝试失败(在本例中,如果您可以尝试将Java String测试转换为int),Integer parseInt进程将抛出NumberFormatException,您必须在try/catch块中处理该异常。
您可以使用new Scanner(“1244”).netInt()。或者询问是否存在int:new Scanner