In code, literals always use a comma (,) as a group separator and a dot (.) as a decimal separator so that the same code will always compile the same way whenever and wherever that code is compiled. That means that 5.126 always means five units, one tenth, two hundredths and six thousandths no matter what the regional settings are on your machine. If you want five thousand, one hundred and twenty six then you need to use 5,126 or just 5126, regardless of your regional settings. In short, code uses US format for literals no matter what. It's just like a Date literal is ALWAYS written in #M/dd/yyyy# even if your regional settings indicate that dates use d/MM/yyyy format.
When you run your application though, what you see as a String representation of numbers, dates, etc, DOES depend on your regional settings. If your current culture specifies that the comma is the decimal separator and the dot is the group separator then that's what you will see when you convert a number to a String without specifying your own format and vice versa.
So, if you want to specify the number five thousand, one hundred and twenty six then either omit all separators or use a comma as that is what a literal uses as a group separator.
If this doesn't answer your question, please explain what your current regional settings are and what you actually expect to happen in words rather than in numbers, which are ambiguous in this context. if they weren't then you wouldn't have an issue in the first place. Please ALWAYS provide a FULL and CLEAR explanation. The more we have to guess, the less likely you are to get the help you want.