I'm having a problem with the following code:
string latString = "50.09445";
float lat = Convert.ToSingle(latString);
The second command throws a FormatException exception. I know that problem is that culture settings I'm using (cs-CZ) use comma as decimal separator and this string contains decimal point instead.
Is there some easy way to "ignore" the culture settings and always us开发者_JS百科e decimal point for the conversion? Or should I just avoid the problem by checking the string first and replace comma by the decimal point?
Use CultureInfo.InvariantCulture
float lat = Convert.ToSingle("50.09445", CultureInfo.InvariantCulture);
Try the Convert.ToSingle(string, IFormatProvider)
overload instead, and pass it the invariant culture (or whatever CultureInfo
you want to be using instead):
float lat = Convert.ToSingle(latString, CultureInfo.InvariantCulture);
string latString = "50.09445";
float lat = float.Parse(latString, CultureInfo.InvariantCulture);
Single.Parse(latString, System.Globalization.CultureInfo.InvariantCulture);
精彩评论