格式化为String的double

时间:2012-07-17 07:28:03

标签: c# string formatting

我进行了这样的格式化:

 str += String.Format("{0,-25}", doubl);

我需要用空格划分我的数字,这就是我使用{0,-25}的原因。

但有时我会得到像2.15083096934631E-05

这样的数字

如何在没有“E-05”的情况下获得传统数字,如0,000021508?

doubl的值类似于0.000021436573129839587

4 个答案:

答案 0 :(得分:2)

使用The "0" Custom Specifier

str = doubl1.ToString("0.0000000");

答案 1 :(得分:2)

尝试double.ToString("format")(F - 定点)

str=doubleValue.ToString("F10");

答案 2 :(得分:0)

您可以通过将FN传递给ToString()来格式化输出,以表示更多小数点,我认为您必须指定类似N15的内容(根据您的价值找到您需要的合适限额)但此处的问题是在实际数字后跟踪0

[double value].ToString("N15") // this should output without the exponent sign

要避免尾随零,您只需要修剪

[double value].ToString("N15").TrimEnd('0');

答案 3 :(得分:0)

我之前的所有答案都很好,但对我来说,我有一个非常难看的问题。我的答案'将被Zero填充,如果只需要5个零,它会使答案非常笨重。我想出了这个:

double Q = ((1000 * 1000) * (2 * 2));
double Answer = ((Q * 199) / 2);
this.AnswerTBox1.Text = String.Format("{0:F" + Answer.ToString().Length + "}", Answer);

这个整洁的丑陋'不必要的零。

所有最好的

克里斯