1,234.56 and 1.234,56 are the same amount. A parser guessing which one it holds hands you the other, off by a factor of a hundred.
No locale table, just an order of operations: split on the decimal point first, then treat a group separator as decoration only where digits are grouped. A dot before two digits in a German field is a decimal typed with the wrong key, so we refuse it rather than multiply by 100. One refused pattern, no silent hundredfold.
https://shipmindlabs.com/c/58a55254