When using a German localized number with group separators and decimals, a conversion to BigDecimal fails with a NumberFormatException. For German, group separators are dots, decimal separator is a comma (just the other way round of the US version).
In the following test class, the first case is green, the second fails with
Putting a breakpoint in the BigDecimal constructor reveals it is fed a String "1.000.000.000.00" which is obviously wrong. I suspect, the "canonicalization" of the original String breaks it.