问题描述
当我尝试使用 Integer.parseInt()
解析265,858时,我得到 NumberFormatException
。 有没有办法解析成一个整数?
这是逗号一个小数分隔符还是这两个数字?在第一种情况下,您必须提供 使用逗号作为小数分隔符的类:
NumberFormat.getNumberInstance(Locale.FRANCE).parse(265,858)
这导致 265.858
。但是使用美国语言环境,您将获得 265858
:
NumberFormat.getNumberInstance (java.util.Locale.US).parse(265,858)
这是因为在法国他们在美国将逗号作为小数分隔符处理 - 作为分组(千)分隔符。
如果这两个数字 - String.split() code>他们并独立解析两个独立的字符串。
I'm getting NumberFormatException
when I try to parse 265,858 with Integer.parseInt()
.
Is there any way to parse it into an integer?
Is this comma a decimal separator or are these two numbers? In the first case you must provide Locale
to NumberFormat
class that uses comma as decimal separator:
NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")
This results in 265.858
. But using US locale you'll get 265858
:
NumberFormat.getNumberInstance(java.util.Locale.US).parse("265,858")
That's because in France they treat comma as decimal separator while in US - as grouping (thousand) separator.
If these are two numbers - String.split()
them and parse two separate strings independently.
这篇关于如何解析包含逗号的数字字符串到java中的整数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!