1

我正在使用格式字符串F2来转换双精度值。我得到的格式化值是9999.00,如果双值是9999

我应该使用哪种格式字符串来避免尾随零9999.00

更清楚地说,我需要的输出是当给定左侧的参数时,我收到右侧的输出

1.211 -> 1.21
1.245 -> 1.25
1.1   -> 1.1
1     -> 1

有没有标准的字符串格式可以做到这一点?

4

3 回答 3

4

你想要的字符串是F0。

文档在这里:

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

于 2013-04-04T05:39:57.217 回答
4

您可以使用格式字符串,包括#可选地包含最多给定的小数位数,但不超过要求。例如,您可以使用格式字符串"0.##"

double d = 1.245;
Console.WriteLine(d.ToString("0.##")); 

这将产生 1.25。1.1当给定具有该值的参数时,将产生与输出相同的格式字符串。

于 2013-04-04T14:55:07.190 回答
1
double d = 9999;
Console.WriteLine(d.ToString("F0"));

Outpur 将是;

9999

这是一个DEMO.

查看更多信息Standard Numeric Format Strings

于 2013-04-04T05:44:26.340 回答