2010-09-04 60 views
0

由於我在使用C#,我有一個名爲'Amount'的字段。C#從'double'類型獲取精確的字符串形式

double amount = 10.0; 

所以,我想要結果如'10.0'轉換爲字符串後。

如果我的價值

amount = 10.00的話,我想將其轉換爲字符串後導致'10.00'

所以,基本上我想要在字符串中的確切結果,因爲它是雙重類型。 (精確度)。

在此先感謝。

回答

1

你問什麼是不可能的。 C#中的double是一個簡單的64位浮點值。它不存儲精度。您可以用一位小數或兩位打印您的值,如其他答案所描述的那樣,但不能以「保留」變量的原始精度。

+0

您是對的Michael。 – nunu 2010-09-04 05:38:54

2
string result = string.Format("{0:f2}", amount); 
0

由於@Michael Petratta指出,double不帶有它的輸入精度。如果你需要這些信息,你需要自己保存。然後,您可以重建輸入字符串,如下所示:

static public string GetPrecisionString(double doubleValue, int precision) 
{ 
    string FormattingString = "{0:f" + precision + "}"; 
    return string.Format(FormattingString, doubleValue); 
} 
相關問題