我正在寻找完成此任务的方法/方法:
try {
DecimalFormat decimalFormatter = new DecimalFormat();
decimalFormatter.setParseBigDecimal(true);
decimalFormatter.parse(inflowTextField.getText());
}
catch(ParseException e)
{
errorMsg+="Invalid inflow value! Must be BigInteger";
}
上面的代码是TextField
内部对话框窗口的验证方法,其中用户正在编辑某些值,此处我想将String
从TextField.getText()
解析为BigDecimal
,如果然后捕获异常并制作警告弹出窗口中使用的错误字符串是不可能的。
只有当字符串的开头不是数字时,parse()
方法才会引发异常,所以像' 1aaa1aaa1',' 1111asdasdasd'不要抛出异常。我需要他们这样做。
换句话说,我需要解析器,当字符串输入在整个开头不是BigDecimal时会抛出异常。