Thank you for working on this. Your points are well taken. One tiny comment:
+ if (basic_numeric_field)
+ {
+ if (thousands_sep_ignored)
This might be better combined as "if (basic_numeric_field && thousands_sep_ignored)", so that it's more similar to the previous "if".
