Hi,
Coming from Germany, I can understand your trouble :-)
Setting the culture of the current thread as you did should work. For example, on my machine the following code works as expected:
// use default culture (in my case, German)var f = float.Parse("1.000,123");Console.WriteLine(f); // prints 1000,123// switch to different culture (here: english)var culture = new CultureInfo("en-US");Thread.CurrentThread.CurrentCulture = culture;Thread.CurrentThread.CurrentUICulture = culture;f = float.Parse("1,000.123"); Console.WriteLine(f); // prints 1000.123
Therefore I'm confused why setting the thread's culture in your case did not have any effect.
If your app is a web application, you can use the <globalization> element in web.config to define the culture easily, like
<globalization culture="en-US" uiCulture="en-US"/>
Regards,
Andre