如何在C#中将double格式化为这种格式?

时间:2014-08-28 09:24:31

标签: c# format double

我在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而没有任何其他函数?

4 个答案:

答案 0 :(得分:2)

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

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

查看Standard Numeric Format Strings

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

试试这个,把你喜欢的文化:

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