由於我在使用C#,我有一個名爲'Amount'的字段。C#從'double'類型獲取精確的字符串形式
double amount = 10.0;
所以,我想要結果如'10.0'
轉換爲字符串後。
如果我的價值
amount = 10.00
的話,我想將其轉換爲字符串後導致'10.00'
。
所以,基本上我想要在字符串中的確切結果,因爲它是雙重類型。 (精確度)。
在此先感謝。
由於我在使用C#,我有一個名爲'Amount'的字段。C#從'double'類型獲取精確的字符串形式
double amount = 10.0;
所以,我想要結果如'10.0'
轉換爲字符串後。
如果我的價值
amount = 10.00
的話,我想將其轉換爲字符串後導致'10.00'
。
所以,基本上我想要在字符串中的確切結果,因爲它是雙重類型。 (精確度)。
在此先感謝。
你問什麼是不可能的。 C#中的double
是一個簡單的64位浮點值。它不存儲精度。您可以用一位小數或兩位打印您的值,如其他答案所描述的那樣,但不能以「保留」變量的原始精度。
string amountString = amount.ToString("N2");
「N2」是用作.ToString()方法的第一個參數的格式字符串。
「N」代表數字,2代表小數位數。
更多關於字符串格式是在這裏: http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
string result = string.Format("{0:f2}", amount);
由於@Michael Petratta指出,double
不帶有它的輸入精度。如果你需要這些信息,你需要自己保存。然後,您可以重建輸入字符串,如下所示:
static public string GetPrecisionString(double doubleValue, int precision)
{
string FormattingString = "{0:f" + precision + "}";
return string.Format(FormattingString, doubleValue);
}
您是對的Michael。 – nunu 2010-09-04 05:38:54