我有剃刀視圖:LINQ和如何顯示貨幣
<td>@payments.Sum(p => p.Amount)</td>
我希望它顯示爲貨幣等有「$」和最終兩位小數。
我認爲你通常會像{0:C}那樣。
我不知道如何將它融合到我所得到的中,因爲Sum沒有格式重載。
我需要用css類來做到這一點嗎?
我有剃刀視圖:LINQ和如何顯示貨幣
<td>@payments.Sum(p => p.Amount)</td>
我希望它顯示爲貨幣等有「$」和最終兩位小數。
我認爲你通常會像{0:C}那樣。
我不知道如何將它融合到我所得到的中,因爲Sum沒有格式重載。
我需要用css類來做到這一點嗎?
你可以這樣做:
<td>@String.Format("{0:C}", payments.Sum(p => p.Amount))</td>
<td>@payments.Sum(p => p.Amount).ToString("C")</td>
我覺得這是比String.Format
一個稍微更有效的呼叫。請參閱answer。
'ToString()'和'String.Format'有趣的鏈接。爲了一致性,我傾向於在這種情況下使用'String.Format',因爲它處理'ToString()'會窒息的'null'引用。在這種情況下,它並不重要,因爲Sum()總是返回一個整數值而不會是null。 – Yuck 2013-05-13 01:39:02
@Yuck。謝謝。我記得幾年前參加過一場活動,演講者將'ToString'與'Format'進行了比較,結果讓我印象深刻(並且有點驚訝)。我傾向於使用格式化字符串來支持'ToString',但它確實是一個微型優化。除非是數百萬次迭代,否則任何選項都可以。 – 2013-05-13 01:44:33
我認爲你需要使用'ToString'。這是一個值與格式的問題 - 對於格式,它是該值的表示形式,您需要調用「ToString」(或其他格式的方法)。 – 2013-05-13 01:30:20