我在大十进制没有问题。以下代码片段将解释我的问题:
BigDecimal parsedValue = (BigDecimal) decimalFormat.parse(input);
这里的输入是一个字符串类型。现在假设输入的值为135abc24在这种情况下 parsedValue 的值为135但我想检查此类输入并给出错误而不是截断字符串和其余部分。只想添加输入字符串也可能包含指数编号,所以我什至不能只检查数字字符串。如果您想了解更多信息或问题不清楚,请告诉我,
提前致谢。
我在大十进制没有问题。以下代码片段将解释我的问题:
BigDecimal parsedValue = (BigDecimal) decimalFormat.parse(input);
这里的输入是一个字符串类型。现在假设输入的值为135abc24在这种情况下 parsedValue 的值为135但我想检查此类输入并给出错误而不是截断字符串和其余部分。只想添加输入字符串也可能包含指数编号,所以我什至不能只检查数字字符串。如果您想了解更多信息或问题不清楚,请告诉我,
提前致谢。
您可以使用 BigDecimal 的String 构造函数来创建 BigDecimal(有关详细信息,请参阅链接)并事先将您希望的任何转换应用于输入字符串。NumberFormatException
如果输入不是有效的表示,则构造函数会抛出 a 。
根据文档,DecimalFormat.parse()
支持ParsePosition
引用形式的第二个参数,该参数随解析停止的位置更新。然后,您可以将其与字符串的开头进行比较,并确定整个字符串是否被接受。