Math.Round((ClosePrice - OpenPrice), 5) = -0.00001
,但是當我把它轉換成的toString它給 「-1E-05」十進制字符串轉換問題
Math.Round((ClosePrice - OpenPrice), 5).ToString() = "-1E-05"
爲什麼會是這樣?我怎樣才能獲得「-0.00001」
Math.Round((ClosePrice - OpenPrice), 5) = -0.00001
,但是當我把它轉換成的toString它給 「-1E-05」十進制字符串轉換問題
Math.Round((ClosePrice - OpenPrice), 5).ToString() = "-1E-05"
爲什麼會是這樣?我怎樣才能獲得「-0.00001」
您可以使用格式說明上MSDN's Standard Numeric Format Strings
double foo = -0.00001;
Console.WriteLine(foo.ToString("f5"));
ToString()
爲證明選擇基於價值被格式化來實現的最緊湊表示的格式。如果你想選擇一個特定的格式,你需要使用ToString(string format)
超載來代替。例如,如果你調用
Math.Round((ClosePrice - OpenPrice), 5).ToString("N5")
你會得到"-0.00001"
字符串作爲結果。
每個類從object
(並因此任何類)繼承具有.ToString()
方法。它所輸出取決於天氣它被覆蓋,如果是,它如何被覆蓋(即什麼也實施者想給出的字符串,其同樣的過程,如果實施.ToString()
方法之一,你將通過您的
這是關於「爲什麼」 - 「如何」已被其他人回答的問題