2012-07-17 55 views
1

我做出這樣的格式:雙格式爲String

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

我需要我的號碼,用空格分割,這就是爲什麼我使用{0,} -25。

但有時我得到這樣的數字2.15083096934631E-05

如何讓傳統的號碼,如0,000021508,沒有 「E-05」?

doubl的價值是一樣0.000021436573129839587

+1

2.15083096934631E-05是0.0000215,你知道嗎? – xanatos 2012-07-17 07:30:56

+0

2.15083096934631E-05不是2.1508309。它是〜0,000021508309 – 2012-07-17 07:31:46

+0

0,000021508309 - 我同意。但如何以這種方式展示它? – 2012-07-17 07:32:34

回答

2

嘗試double.ToString("format")(F - 定點)

str=doubleValue.ToString("F10"); 
+0

[F - 固定點和10 - 十進制數字](http://msdn.microsoft.com /en-us/library/dwhawy9k.aspx) – adatapost 2012-07-17 07:43:04

0

你可以通過在格式化輸出FNToString(),代表更多小數點,我認爲你會必須指定類似N15(找到你根據你的價值觀所需要的合適的限制),但這裏的問題是你的實際數量後尾隨0​​

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

爲了避免拖尾,你只需要修剪

[double value].ToString("N15").TrimEnd('0'); 
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); 

這整齊的'不友善'的不必要的零。

一切順利

克里斯