C#中的round函數其實不是真正的四捨五入函數,一般的程式設計語言的round函數也都不是四捨五入函數,而是銀行家捨入法函數,也就是「四捨六入五考慮,五後非零就進一,五後為零看奇偶,五前為偶應捨去,五前為奇要進一」
using System; public class Example { public static void Main() { double[] values = { 2.125, 2.135, 2.145, 3.125, 3.135, 3.145 }; foreach (double value in values) Console.WriteLine("{0} --> {1}", value, Math.Round(value, 2, MidpointRounding.AwayFromZero)); } } // The example displays the following output: // 2.125 --> 2.13 // 2.135 --> 2.13 // 2.145 --> 2.15 // 3.125 --> 3.13 // 3.135 --> 3.14 // 3.145 --> 3.15