Đây là một chương trình đơn giản cho phép bạn xác minh mã. Hãy nhận biết tham số MidpointRounding, không có nó, bạn sẽ nhận được làm tròn đến số chẵn gần nhất, trong trường hợp của bạn có nghĩa là sự khác biệt của năm (trong ví dụ 72.5).
class Program
{
public static void RoundToFive()
{
Console.WriteLine(R(71));
Console.WriteLine(R(72.5)); //70 or 75? depends on midpoint rounding
Console.WriteLine(R(73.5));
Console.WriteLine(R(75));
}
public static double R(double x)
{
return Math.Round(x/5, MidpointRounding.AwayFromZero)*5;
}
static void Main(string[] args)
{
RoundToFive();
}
}
Nguồn
2009-10-07 13:50:14
Phương pháp này sẽ hoạt động với bất kỳ số nào: Math.Round (value/n) * n (xem tại đây: http://stackoverflow.com/questions/326476/vba-how-to-round-to- gần nhất-5-hoặc-10-hoặc-x) –
cảnh báo: điều này có thể sẽ "gần như tròn", do độ chính xác nổi ... – tbischel