ENH: Add decimal and thousand separator params to to_numeric()
State: closed

- [x] closes #4674 
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Added the option to specify a different decimal point when using to_numeric() as described in #4674. Also added an option to specify the thousasnds separator, similar to functions such as read_csv(). This removes the need for users to change the string manually before calling to_numeric(), and is especially useful for processing numbers in international formats.


Labels:
name: Enhancement
name: Numeric Operations
description: Arithmetic, Comparison, and Logical operations

Comments:
Setting ready for review as the only test failing is one that is also failing on the main branch - "Unit Tests / Numpy Dev (push)"
Added the whatsnew changes to the 3.0.0 file for now, will there be another minor version before then or is that the correct file to document the changes?
@WillAyd Thanks for the feedback, I'll have a look into the changes shortly. 

The idea behind this is to mimic some of the functionality of functions such as `read_csv()` where you can define your own thousands and decimal seperators, mainly for ingestion of numerical data in international formats. If you are reading data directly into pandas through one of the `read_xxx()` functions then you usually have this custom separator functionality, but if for any reason the numeric data is ingested as a string into python first, and then try to "ingest" into pandas and convert with `to_numeric()` you don't have that functionality. The specific issue I had with this was when crawling data from websites that present numbers in the european format. For example data on websites that is not in a table readable by `read_html()`, and in some cases the data had to be obtained by parsing numbers from a pdf.

Regarding python handling this, the `float()` function can only handle different seperators if you mess around with locales, as described and not recommended here: https://stackoverflow.com/a/6633912 . This is global and not really usable in production situations, and means you will then be locked into processing data in the format as defined by the locale (Also somewhat system dependent). Having these parameters in `to_numeric()` would allow for processing different columns in different formats, eg. one column of US style numbers and one of European. And doesn't risk unintended consequences like locale changes and different behaviour on different PCs.
Thanks for the PR here @AlexHodgson but I am also hesitant if there's enough core dev team support for this feature to go through. I think it would be good to see if there more support in the original issue from the core team in the issue before moving forward with PR so closing for now. But if there's that interest we can reopen this PR