2017-04-14 61 views
0

我工作的一些遺留代碼的時刻和所遇到如下:是格式#### 0.000000不同於0.000000?

FooString = String.Format("{0:####0.000000}", FooDouble) 

我的問題是,是格式字符串這裏,####0.000000從簡單的0.000000有什麼不同?

我想概括設置FooDouble函數的返回類型,以便檢查以確保我不會破壞現有功能,因此試圖找出#在此處添加的內容。

我已經在一個玩具程序中運行了幾個測試,看不到結果有什麼不同,但也許有一些我失蹤了?

+1

因爲您在小數點分隔符前使用了一個'0' - 兩種格式都應該返回相同的結果 – Fabio

+0

@Fabio謝謝! – Toby

+0

@Fabio如果你想讓這個答案也許? – Toby

回答

1

從MSDN

的 「#」 自定義格式說明作爲一個數字佔位符符號。 如果正在格式化的值在格式字符串中出現「#」符號的位置上有一個數字,則該數字將被複制到 結果字符串。否則,在 結果字符串中沒有任何內容存儲在該位置。

注意,此說明符永不顯示爲零時 不是顯著位,即使是零的 串唯一的數字。只有在正在顯示的 號碼中有效數字時,它纔會顯示零。

因爲您在小數點分隔符前使用一個0 0.0 - 兩種格式都應返回相同的結果。