使用以下代码我只想允许正数。由于某种原因,我甚至无法正确解析字符串:
DecimalFormat dfNoNegative = new DecimalFormat("#,##0.00");
dfNoNegative.setNegativePrefix("");
try {
System.out.println(dfNoNegative.parse("123.00"));
} catch (ParseException e) {
System.out.println(e.getMessage());
System.out.println(e.getErrorOffset());
e.printStackTrace();
}
错误消息和ErrorOffset:
Unparseable number: "123.00"
6
任何人都可以指导我错误的地方吗?工作String的一个例子也很好
答案 0 :(得分:0)
我的错误是dfNoNegative.setNegativePrefix("");
无所事事(""
)。这不起作用,因为String直接使用数字而123
不是""
,因此它失败了。基本上这种方法会覆盖应该用作否定前缀的内容(默认为-
)。如果您将其设置为!
,System.out.println(dfNoNegative.parse("!123.00"));
将打印-123
。