2010-05-17 14 views
6
string listOfItemPrices = items.ToSemiColonList(item => string.Format("{0:C}", item.Price.ToString())); 

我只是試圖將價格格式設置爲2位小數。好的,所以string.Format沒有實現IFormattable?好吧不知道如何解決這個問題,以便我可以在這裏格式化小數點(價格)。指定了格式但參數不是IFormattable

回答

14

通過將item.Price.ToString()傳遞給String.Format,您傳遞的是字符串,而不是小數。
由於字符串不能與格式字符串一起使用,因此出現錯誤。

您需要將Decimal的值通過刪除.ToString()的值傳遞給String.Format

+0

我得到同樣的搭配: inFile.setINVQueryDept(的String.Format( 「{0:#0.00}」,frmCentral.startDept)的String.Format( 「{0:#0.00}」, frmCentral.endDept)); – 2014-03-19 16:47:42

1

在這裏使用string.format毫無意義,它用於將格式化值添加到字符串中。例如

String.Format("This is my first formatted string {O:C} and this is my second {0:C}",ADecimal,AnotherDecimal) 

如果只想小數變量作爲格式化的字符串的值然後只是將字符串傳遞格式化到ToString()方法例如

ADecimal.ToString("C"); 
相關問題