float.Parse zawodzi na liczbach dziesiętnych i przecinkach

Kiedy próbuję tej linii:

float f = float.Parse(val, System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowThousands);

gdzie val jest łańcuchem ustawionym na „5.267” bez cudzysłowów, otrzymuję ten błąd:

FormatException: Nieznany znak:. System.Double.Parse (System.String s, styl NumberStyles, dostawca IFormatProvider) System.Single.Parse (System.String s, styl NumberStyles)

Próbowałem więc zmienić punkt dziesiętny na przecinek, np .: 5,267 i otrzymałem ten błąd:

FormatException: Nieznany znak:, System.Double.Parse (System.String s, styl NumberStyles, dostawca IFormatProvider) System.Single.Parse (System.String s, styl NumberStyles)

Ja .... nie ... rozumiem. O ile wiem, robię to dobrze. To prosta sprawa, więc dlaczego sprawia mi to taki smutek?

questionAnswers(2)

yourAnswerToTheQuestion