double的输出格式

时间:2013-09-06 07:34:21

标签: c# string tostring

我对格式化有一个简单的问题。我有一个双返回一个数字,总是0.5的倍数。 (e.i.数字可以是125.5,125,160,171.5) 在我的输出窗口中,我正在打印这样的内容:

double number;
(number).ToString("###0.0");

但是,在我的数字是整数的情况下,例如125,这将返回125.0的值,我希望将该数字打印为125,同时保持打印出小数的能力以防万一双数例如是126.5。

有人知道我怎么做吗?谢谢!

2 个答案:

答案 0 :(得分:2)

在C#中使用String.Format

String.Format("{0:0.00}", 123.4567);                    // "123.46"
String.Format("{0:0.00}", 123.4);                       // "123.40"
String.Format("{0:0.00}", 123.0);                       // "123.00"

String.Format("{0:0.##}", 123.4567);                    // "123.46"
String.Format("{0:0.##}", 123.4);                       // "123.4"
String.Format("{0:0.##}", 123.0);                       // "123"

String.Format("{0:00.0}", 123.4567);                    // "123.5"
String.Format("{0:00.0}", 23.4567);                     // "23.5"
String.Format("{0:00.0}", 3.4567);                      // "03.5"
String.Format("{0:00.0}", -3.4567);                     // "-03.5"

String.Format("{0:0,0.0}", 12345.67);                   // "12,345.7"
String.Format("{0:0,0}", 12345.67);                     // "12,346"

String.Format("{0:0.0}", 0.0);                          // "0.0"
String.Format("{0:0.#}", 0.0);                          // "0"
String.Format("{0:#.0}", 0.0);                          // ".0"
String.Format("{0:#.#}", 0.0);                          // ""

String.Format("{0:0.00;minus 0.00;zero}", 123.4567);    // "123.46"
String.Format("{0:0.00;minus 0.00;zero}", -123.4567);   // "minus 123.46"
String.Format("{0:0.00;minus 0.00;zero}", 0.0);         // "zero"

答案 1 :(得分:1)

尝试使用此格式字符串:

"###0.#"

我假设你ToString的大写字母与C#有关。