2011-06-15 44 views
155

我目前正在爲客戶網站構建銷售模塊。到目前爲止,我的銷售價格是完美計算的,但是我卡住的地方是將輸出格式化爲2位小數。格式化浮點數到2位小數

我目前正在調用這個變量,以便我可以將數據綁定到列表視圖。

Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price/100))).ToString())), 

任何人都可以告訴我如何格式化輸出到2位小數?非常感謝!

+0

檢查這我不知道,但可能會工作ToString(「#。##」); – Syeda 2011-06-15 10:35:25

回答

340

您可以通過格式到ToString方法,如:

myFloatVariable.ToString("0.00"); //2dp Number 

myFloatVariable.ToString("n2"); // 2dp Number 

myFloatVariable.ToString("c2"); // 2dp currency 

Standard Number Format Strings

+8

我應該可以+2這個帖子的貨幣提示。 – Luc 2012-12-05 23:49:56

+25

「N2」和「C2」將添加千分隔符,而「0.00」不會。 – 2014-01-28 13:08:46

+0

很好的回答! :) – Del 2017-07-16 23:15:34

2
string outString= number.ToString("####0.00"); 
38

你需要做的第一件事就是用decimal類型,而不是float的價格。使用float是絕對不可接受的,因爲它不能準確表示大多數小數。

一旦你完成了,Decimal.Round()可以用來四捨五入到2個地方。

+0

真棒,哥們! – Spandan 2013-06-28 10:13:50

31

String.Format("{0:#,###.##}", value)

更復雜的例子來自String Formatting in C#

String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);

這將輸出「$ 1,240.00「如果傳遞1243.50。它將輸出相同的格式,但如果數字爲負數,則使用圓括號;如果數字爲零,則會輸出字符串「Zero」。