I can't replicate your problem here. The code should work fine in term of changing the way Double.Parse
method works. Here is how I did the test :
string duit = "1.000.100"; //this is a valid number format in my current culture
string money = "1,000,100"; //but this is not valid
var culture = CultureInfo.CurrentCulture; //my current culture is indonesia (id-ID)
var duitDouble = double.Parse(duit); //parsed successfully
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
culture = CultureInfo.CurrentCulture; //now current culture is english (en-US)
var moneyDouble = double.Parse(money); //parsed successfully
Besides, I really suggest to rephrase your question and title to avoid misunderstanding. That will be good for you and people that intend to help. As you can see, most of the answers posted are not actually answering the question (the actual problem is indicated in OP's second comment in the question).