从java中的字符串解析带有正/负前缀的数字

2022-01-12 00:00:00 formatting java

在 java 中从 String 中解析数字是非常简单的,即如果字符串格式为 'n' 或 '-n',则使用 Integer.parseInt(s), 但不幸的是它无法解析 '+n' 格式的字符串.

It's quite straight forward in java to parse number from String, i.e. with Integer.parseInt(s) if string in the format 'n' or '-n', but unfortunately it fails to parse string in the format of '+n'.

那么在java中从字符串中解析数字的最有效/优雅的方法是什么,如果它包含正或负前缀:'+n'或'-n'?

So what is the most effective/elegant way to parse number from string in java if it contains positive or negative prefix: '+n' or '-n' ?

推荐答案

Integer.parseInt(s.replace("+", ""));

事实上,使用 Integer 解析这样的数字有很多陷阱,因为 Integer 具有非常具体的大小和格式界限(1,000,000.00")不是这样解析的,但我将您的问题视为 Integer.parseInt 可以很好地满足您的需求,您只需处理数据中的 + 即可.

In truth there are many gotchas using Integer to parse numbers like that, in that Integer has very specific bounds of size and format ("1,000,000.00") isn't parsing that way, but I'm taking your question as Integer.parseInt meets your needs just fine, you just have to deal with a + in your data.

相关文章