我有几个strings
我需要转换为float
。当我尝试使用System.Convert.ToSingle(MyString)
时,我总是得到FormatException
。
我甚至尝试创建像"12.123"
这样的字符串,以确保数字没问题,但我又得到了例外。我的问题是,那么正确的格式是什么?字符串中的数字应采用何种格式?
我将转换的许多字符串之一的示例:50.105128
答案 0 :(得分:2)
这可能取决于您的系统文化,可以设置为使用,
作为分隔符。将格式设置为InvariantCulture
将使用.
作为分隔符。
Convert.ToSingle("12.123", CultureInfo.InvariantCulture)
答案 1 :(得分:1)
这取决于文化,但你可以用这种方式使用不变量:
Convert.ToSingle("0", System.Globalization.CultureInfo.InvariantCulture);
答案 2 :(得分:0)
Convert.ToSingle是文化敏感的。在您的机器上安装的文化中,小数分隔符可能与逗号不同,数字可能看起来像50,105128
使用此重载,允许指定culture:
public static float ToSingle(
Object value,
IFormatProvider provider
)