2013-04-04 33 views
1

我正在使用格式字符串F2來轉換一個雙精度值。我正在格式化值9999.00,如果雙值9999浮點精度格式來抑制尾隨零

我應該使用哪種格式字符串,以避免9999.00尾隨零?

更清楚,我需要輸出的時候給我上獲得右側

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

輸出左側的參數有什麼標準字符串格式做到這一點?

+5

那些*尾隨零*。前導零將是0009999. – 2013-04-04 05:36:51

+1

文檔在這裏。 http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx – 2013-04-04 05:38:50

+0

你會*喜歡*看什麼格式?不僅對於沒有小數位的值,而且對於*它們也是值* – 2013-04-04 05:38:55

回答

4

您可以利用格式字符串包括#以可選地包括達小數點後的給定數量,但不超過所需。例如,您可以使用格式字符串"0.##"

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

這將產生1.25。給定一個具有該值的參數時,相同的格式字符串將產生1.1作爲輸出。

1
double d = 9999; 
Console.WriteLine(d.ToString("F0")); 

Outpur會;

9999 

這是DEMO

檢查以瞭解更多信息從Standard Numeric Format Strings

+0

我需要的值和輸出是-1.211-> 1.21,1.245-> 1.25,1.1-> 1.1,1-> 1。有沒有任何標準的字符串格式來做到這一點? – Maanu 2013-04-04 06:10:36

+0

@Maanu _Hmm_,我沒有看到所有這些的任何規則模式,我建議你應該爲他們使用單獨的格式.. – 2013-04-04 06:35:54