调用Number.ToString()并始终在任何区域配置中使用标准小数点?

mde*_*dev 1 c#

让我们在C#中假设这一点.

  double d = 5.555455;
  string s = d.ToString();
  Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)

输出是

5.555455
Run Code Online (Sandbox Code Playgroud)

就我而言,我的区域配置是"." 作为小数分隔符.问题是计算机的区域配置有时是",",这使输出为:

5,555455
Run Code Online (Sandbox Code Playgroud)

我需要的是确保使用"."将数字始终转换为字符串.作为十进制而没有","作为千分隔符.

我怎样才能做到这一点?

das*_*ght 5

你需要使用不变的文化:

double d = 5.555455;
string s = d.ToString(CultureInfo.InvariantCulture);
Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)

除此之外,这会强制点.作为小数分隔符.