Question

I am facing problem in big decimal no. Following code snippet will explain my problem:

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

Here input is a string type. Now suppose value of input is 135abc24 in this case value of parsedValue is 135 but i want to check for such inputs and give an error instead of truncating the string and rest of part. Just want to add input string may also contains exponential nos, so i cant even check for only numeric strings. Please let me know if you want further information or or question is not clear,

Thanks in advance.

Was it helpful?

Solution

You can use BigDecimal's String constructor to create the BigDecimal (see the link for details) and apply any transformations you wish to your input string beforehands. The constructor throws a NumberFormatException if the input is not a valid representation.

OTHER TIPS

According to the documentation, DecimalFormat.parse() supports a second argument in the form of a ParsePosition reference, which is updated with the position at which the parsing stopped. You can then compare that to the beginning of your string, and determine if the entire string was accepted or not.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top