Java将文本解析为整数

Java将文本解析为整数,java,numberformatexception,Java,Numberformatexception,在Java中如何将文本值解析为整数 我试过以下两件事 Integer.valueOf("22,959"); Integer.parseInt("22,959"); 但我对两者都有强烈的形式感受 只是补充一下,文本是动态的,但将采用我作为示例给出的逗号格式。这两个选项都是正确的valueOf返回一个new Integer()对象,而parseInt返回一个原语int 但是,您的问题在于逗号,而不是方法本身。那就做一个 String value = "22,959"; value.replace(

在Java中如何将文本值解析为整数

我试过以下两件事

Integer.valueOf("22,959");
Integer.parseInt("22,959");
但我对两者都有强烈的形式感受


只是补充一下,文本是动态的,但将采用我作为示例给出的逗号格式。

这两个选项都是正确的
valueOf
返回一个
new Integer()
对象,而
parseInt
返回一个原语
int

但是,您的问题在于逗号,而不是方法本身。那就做一个

String value = "22,959";
value.replace(",", "");
Integer.valueOf(value);
Integer.parseInt(value);

这两个选项都是正确的
valueOf
返回一个
new Integer()
对象,而
parseInt
返回一个原语
int

但是,您的问题在于逗号,而不是方法本身。那就做一个

String value = "22,959";
value.replace(",", "");
Integer.valueOf(value);
Integer.parseInt(value);

这两个选项都是正确的
valueOf
返回一个
new Integer()
对象,而
parseInt
返回一个原语
int

但是,您的问题在于逗号,而不是方法本身。那就做一个

String value = "22,959";
value.replace(",", "");
Integer.valueOf(value);
Integer.parseInt(value);

这两个选项都是正确的
valueOf
返回一个
new Integer()
对象,而
parseInt
返回一个原语
int

但是,您的问题在于逗号,而不是方法本身。那就做一个

String value = "22,959";
value.replace(",", "");
Integer.valueOf(value);
Integer.parseInt(value);

此名称中提到的整数,仅接受整数。仅表示不带点o小数分隔符的数字。要删除小数分隔符,可以对字符串使用
replace
replaceAll
方法:

Integer.parseInt("22,959".replaceAll(",",""));

此名称中提到的整数,仅接受整数。仅表示不带点o小数分隔符的数字。要删除小数分隔符,可以对字符串使用
replace
replaceAll
方法:

Integer.parseInt("22,959".replaceAll(",",""));

此名称中提到的整数,仅接受整数。仅表示不带点o小数分隔符的数字。要删除小数分隔符,可以对字符串使用
replace
replaceAll
方法:

Integer.parseInt("22,959".replaceAll(",",""));

此名称中提到的整数,仅接受整数。仅表示不带点o小数分隔符的数字。要删除小数分隔符,可以对字符串使用
replace
replaceAll
方法:

Integer.parseInt("22,959".replaceAll(",",""));

您试图解析的是浮点数,而不是整数。整数不应有任何十进制分隔符。应该看起来像Integer.parseInt(“22”);
对于您的情况,应该如下所示:float f=float.parseFloat(“22959”)

您试图解析的是浮点数,而不是整数。整数不应有任何十进制分隔符。应该看起来像Integer.parseInt(“22”);
对于您的情况,应该如下所示:float f=float.parseFloat(“22959”)

您试图解析的是浮点数,而不是整数。整数不应有任何十进制分隔符。应该看起来像Integer.parseInt(“22”);
对于您的情况,应该如下所示:float f=float.parseFloat(“22959”)

您试图解析的是浮点数,而不是整数。整数不应有任何十进制分隔符。应该看起来像Integer.parseInt(“22”);
对于您的情况,应该如下所示:float f=float.parseFloat(“22959”)

首先需要去掉逗号:


Integer.valueOf(“22959.replaceAll”(“,”,”)

您需要先去掉逗号:


Integer.valueOf(“22959.replaceAll”(“,”,”)

您需要先去掉逗号:


Integer.valueOf(“22959.replaceAll”(“,”,”)

您需要先去掉逗号:

Integer.valueOf(“22959.replaceAll”(“,”,”)

使用该类

此默认实例将与您的默认语言环境一致。 您可以通过以下方式根据区域设置获取实例:

    NumberFormat format = NumberFormat.getInstance(Locale.UK);
使用该类

此默认实例将与您的默认语言环境一致。 您可以通过以下方式根据区域设置获取实例:

    NumberFormat format = NumberFormat.getInstance(Locale.UK);
使用该类

此默认实例将与您的默认语言环境一致。 您可以通过以下方式根据区域设置获取实例:

    NumberFormat format = NumberFormat.getInstance(Locale.UK);
使用该类

此默认实例将与您的默认语言环境一致。 您可以通过以下方式根据区域设置获取实例:

    NumberFormat format = NumberFormat.getInstance(Locale.UK);

如果您有带分隔符的数据,则可以将
NumberFormat
与区域设置一起使用


ie
NumberFormat.getNumberInstance(Locale.US).parse(“22959”)
如果您有带分隔符的数据,您可以将
NumberFormat
与Locale一起使用


ie
NumberFormat.getNumberInstance(Locale.US).parse(“22959”)
如果您有带分隔符的数据,您可以将
NumberFormat
与Locale一起使用


ie
NumberFormat.getNumberInstance(Locale.US).parse(“22959”)
如果您有带分隔符的数据,您可以将
NumberFormat
与Locale一起使用


ie
NumberFormat.getNumberInstance(Locale.US).parse(“22959”)
我建议用

Integer.parseInt("22,959".replaceAll(",", ""));
这就假设你绝对不必去处理欧洲的语言环境,比如葡萄牙语,他们用十进制分隔数字,用逗号分隔分数

如果要处理其他语言环境,则需要使用Numberformat解析字符串:

要为当前区域设置设置数字格式,请使用factory类方法之一:

myString = NumberFormat.getInstance().format(myNumber);
要设置不同语言环境的数字格式,请在对getInstance的调用中指定该数字

NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
那你就:

myNumber = nf.parse(myString);

我建议你把逗号去掉

Integer.parseInt("22,959".replaceAll(",", ""));
这就假设你绝对不必去处理欧洲的语言环境,比如葡萄牙语,他们用十进制分隔数字,用逗号分隔分数

如果要处理其他语言环境,则需要使用Numberformat解析字符串:

要为当前区域设置设置数字格式,请使用factory类方法之一:

myString = NumberFormat.getInstance().format(myNumber);
要设置不同语言环境的数字格式,请在对getInstance的调用中指定该数字

NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
那你就:

myNumber = nf.parse(myString);

我建议你把逗号去掉

Integer.parseInt("22,959".replaceAll(",", ""));
这假设你肯定不会去t