Преобразование строки C # в число с плавающей запятой

Мне нужно преобразовать строку в число с плавающей запятой. Это мой пример строки:

1 MW +00000,00 мм
2 MW +0000,000 мм
3 MW -00000,01 мм
4 MW +00000,00 мм
5 МВт +00002,92 мм
6 MW +00002,69 мм

И вот что я делаю:

text = text.Substring(pos + 5, 9).Trim();                  
float val = 0.0F;
float.TryParse(texto, out val);
this.txtDimension1.Text = val.ToString();

Хорошо, это работает для моей среды, которым является en_US, но когда я запускаю этот же кусок кода в испанской среде, он преобразует -00000,01 to -1.0

Я думаю, это проблема с запятой, на английском числа разделены точкой ("."), а на испанском они разделены запятой (",").

Как я могу заставить эту работу работать на оба языка?

Спасибо, Ричард.

5
задан mskfisher 5 June 2012 в 16:04
поделиться