如何将C#中的double格式化为这样的格式

本文关键字:格式 格式化 double 中的 | 更新日期: 2023-09-27 18:19:39

我在C#中格式化double时遇到问题。我想实现这样的格式:2.0,但我有一个例外。

string result = string.Format("{0.0}",  2.0d);

我得到格式异常,输入字符串的格式不正确。当我将代码更改为:时

string result = string.Format("{0:0.0}",  2.0d);

我得到逗号,而不是分隔符。有没有办法在没有任何其他函数的情况下从string.format获得2.0?

如何将C#中的double格式化为这样的格式

由于系统的区域设置,您得到了一个逗号。如果您希望始终获得.,请指定区域性不变性:

string result = string.Format(CultureInfo.InvariantCulture, "{0:N1}", 2.0d);

看看标准数字格式字符串。

  string.Format(CultureInfo.InvariantCulture, "{0:0.0}",  2.0d);

尝试此操作,而不是使用String.Format():

var param = 2.0d
string result = param.ToString("N1");

试试这个,放上你喜欢的文化:

string result = string.Format(new System.Globalization.CultureInfo("en-GB"),"{0:0.0}", 2.0d);