我需要格式化浮點值,而我只需要點後兩個數應該是圓角值浮點變量格式
float first = 7, Second = 3,result;
result = first/Second; // result contain 2.33333325 since I need like 2.33
感謝
我需要格式化浮點值,而我只需要點後兩個數應該是圓角值浮點變量格式
float first = 7, Second = 3,result;
result = first/Second; // result contain 2.33333325 since I need like 2.33
感謝
?5/3
1.6666666666666667
?String.Format("{0:0.00}", 5/3)
"1,67"
?System.Math.Round(5/3, 2)
1.67
?(5.0/3).ToString("0.00")
"1,67"
?(5/3).ToString("0.00")
"1,00"
?(5.0/3).ToString("E") //Exponential
"1,666667E+000"
?(5.0/3).ToString("F") //Fixed-point
"1,67"
?(5.0/3).ToString("N") //Number
"1,67"
?(5.0/3).ToString("C") //Currency
"1,67 €"
?(5.0/3).ToString("G") //General
"1,66666666666667"
?(5.0/3).ToString("R") //Round-trip
"1,6666666666666667"
?(5.0/3).ToString("this is it .")
"this is it 2"
?(5.0/3).ToString("this is it .0")
"this is it 1,7"
?(5.0/3).ToString("this is it .0##")
"this is it 1,667"
?(5.0/3).ToString("this is it #####")
"this is it 2"
?(5.0/3).ToString("this is it .###")
"this is it 1,667"
可以使用Math.Round圓的數量或指定它應該出現在輸出中使用格式說明符。如果您想對需要的值進行進一步計算,以決定是否需要舍入值或更準確的值。
對於格式說明符,您可以在這種情況下使用{0:f}。看到這個帖子的例子http://blog.stevex.net/string-formatting-in-csharp/
Console.WriteLine(String.Format("{0:f}", result));
正如本所指出的ToString接受相同的格式說明,因此,如果數量不是你可以做一個文本的一部分。
result.ToString("f");
布賴恩說,浮標只是作爲二進制數據存儲 - 它們不包含格式。當您將數字格式化爲字符串時,您可能只需要擔心這一點。
但是,如果您對涉及小數點的特定操作感興趣,您可能需要查看使用decimal
而不是float
開始。你在這裏工作的是什麼樣的號碼?
尤其是,如果您正在執行多項操作並希望在數字本身中進行取整,那麼那麼decimal
可能是更好的選擇。有關更多信息,請參見我的關於binary floating point和decimal floating point的文章。
難道你不能只使用'result.ToString(「f」);'使用標準的數字格式字符串? http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx – 2009-12-04 11:27:00
好點。我通常會使用String.Format來包含其他文本/數字。我已將您的評論添加到我的答案中。謝謝。 – 2009-12-04 12:13:31