使用java中字符串的正/负前缀解析数字

Gen*_*her 8 java formatting

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

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

Yis*_*hai 10

Integer.parseInt(s.replace("+", ""));
Run Code Online (Sandbox Code Playgroud)

事实上,有许多陷阱使用Integer来解析这样的数字,因为Integer有非常特定的大小和格式("1,000,000.00")的边界不解析那样,但是我把你的问题当作Integer.parseInt遇到你的问题需要很好,你只需处理数据中的+.

  • 正如Matthew所说,@ Gennmat,NumberFormat是进行严肃数字解析的方法.DecimalFormat子类可能是您想要的类. (2认同)