我在使用百分比StringFormat
方法時遇到技術問題。StringFormat中的百分比
的String.Format("{0:P}", 0.8526)
結果是85.26%
,但我認爲它應該是0.8526%
它是正確的嗎?如果是,我怎樣才能得到0.8526%
?
我在使用百分比StringFormat
方法時遇到技術問題。StringFormat中的百分比
的String.Format("{0:P}", 0.8526)
結果是85.26%
,但我認爲它應該是0.8526%
它是正確的嗎?如果是,我怎樣才能得到0.8526%
?
Console.WriteLine(string.Format("{0}%", 0.8526));
是數學上0.8526等於85.26%。如果您需要獲得0.8526%,那麼試試這個
String.Format("{0:P}", 0.8526/100)
String.Format
當您使用%或將乘以100:P String.Format 如果你想獲得你在找什麼你應該先100分。
-1爲什麼要分割和乘以相同的數量?只需輸出{0}% – 2012-03-18 13:22:29
@Chris,因爲String.Format將考慮當前文化的格式化百分比值的規則,而{0}%是硬編碼到US-EN標準。 – 2015-02-12 22:17:17
這就像是一種特定文化的硬編碼,但不是真的。 double將使用G格式說明符隱式格式化。完全忽略百分比符號,G格式說明符的格式與P的格式不同,主要是默認顯示多少個小數位。你應該在https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx上閱讀關於G和P. – user1676558 2017-04-29 20:14:00
一個百分比被認爲是0-100%,而相關的浮點指針數字是0.0-1.0,因爲它是兩個數字之間的比率。
的String.Format( 「{0}%」,0.8526) – Steve 2012-03-17 15:33:43