Лучший способ разобрать строку с плавающей точкой, используя «,» и «.» в качестве разделителя фракций? (Для номера <5) - PullRequest
3 голосов
/ 23 декабря 2008

Это как бы связано с моим предыдущим вопросом, но не совсем. У меня есть вклад, который я не знаю культуру. Так что он может использовать и «,» и «.» в качестве разделителя для фракции. Число никогда не будет> 5, поэтому мы можем быть уверены, что если есть разделитель, он будет для дроби.

Я искал метод TryParse. Он принимает аргумент NumberStyles. Но я не вижу ничего о разделителя фракций или тому подобное ..

Я снова что-то упускаю или есть лучший способ достичь своей цели?

1 Ответ

9 голосов
/ 23 декабря 2008

Попробуйте это:

float.TryParse(myString.Replace(',', '.'), out myfloat);

РЕДАКТИРОВАТЬ : как упоминал Джон, рекомендуется следующий способ:

float.TryParse(myString.Replace(',', '.'), 
               System.Globalization.NumberStyles.Float, 
               System.Globalization.NumberFormatInfo.InvariantInfo, 
               out myFloat);
...