C# 将字符串转换为浮点时缺少小数点
我用几行代码测试了一个非常基本的程序C# 将字符串转换为浮点时缺少小数点,c#,string,floating-point,C#,String,Floating Point,我用几行代码测试了一个非常基本的程序 float x = 1; x = float.Parse("4.5"); Console.WriteLine(x); 输出为45 出于某种原因,它省略了小数点。我的程序必须使用float,如何解决这个问题?解析的工作方式取决于程序运行的系统的区域性。很可能已设置为显示语言的语言未使用小数点作为分数分隔符 如果要使用使用小数点的特定区域性(例如US),则必须在Parse方法的第二个参数中指定它 例如,强制使用“en-US”文化: CultureInf
float x = 1;
x = float.Parse("4.5");
Console.WriteLine(x);
输出为45
出于某种原因,它省略了小数点。我的程序必须使用float,如何解决这个问题?解析的工作方式取决于程序运行的系统的区域性。很可能已设置为显示语言的语言未使用小数点作为分数分隔符 如果要使用使用小数点的特定区域性(例如US),则必须在
Parse
方法的第二个参数中指定它
例如,强制使用“en-US”文化:
CultureInfo culture = new CultureInfo("en-US");
double number = Double.Parse("4.5", culture);
您还可以使用不变区域性,您可以使用
CultureInfo.InvariantCulture
。它松散地基于美国文化,但事实并非如此(例如货币不同)。有关更多信息,请参阅 解析的工作方式取决于程序运行的系统的区域性。很可能已设置为显示语言的语言未使用小数点作为分数分隔符
如果要使用使用小数点的特定区域性(例如US),则必须在Parse
方法的第二个参数中指定它
例如,强制使用“en-US”文化:
CultureInfo culture = new CultureInfo("en-US");
double number = Double.Parse("4.5", culture);
您还可以使用不变区域性,您可以使用
CultureInfo.InvariantCulture
。它松散地基于美国文化,但事实并非如此(例如货币不同)。有关更多信息,请参阅 试试下面的?解析(“4.5”,numberstyle.float);你想让我惊讶的是,45的格式是什么?解析(“4.5”,numberstyle.float);你想我很惊讶45是任何文化中的格式