我在大十进制中面临问题。以下代码片段将解释我的问题:

 BigDecimal parsedValue = (BigDecimal) decimalFormat.parse(input);

这里输入是字符串类型。现在假设输入值为 135ABC24 在这种情况下,parsedvalue的值是 135 但是我想检查此类输入并给出错误,而不是截断字符串和其余部分。只想添加输入字符串也可能包含指数NOS,因此我什至不能仅检查数字字符串。请让我知道您是否需要更多信息或问题,或者尚不清楚,

提前致谢。

有帮助吗?

解决方案

您可以使用BigDecimal的 字符串构造函数 要创建bigdecimal(请参阅链接以获取详细信息),并事先将您希望的任何转换应用于输入字符串。构造函数抛出 NumberFormatException 如果输入不是有效表示。

其他提示

根据 文档, DecimalFormat.parse() 以一种形式支持第二个论点 析置 参考,以解析停止的位置进行更新。然后,您可以将其与字符串的开头进行比较,并确定整个字符串是否被接受。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top