将数字的小数部分四舍五入到.5数字的最接近倍数的代码是什么?例如,我正在寻找类似这样的输出
输入=>输出
40.11 => 40.10
40.12 => 40.10
40.13 => 40.15
40.14 => 40.15
40.16 => 40.15
40.17 => 40.15
40.18 => 40.20
40.19 => 40.20
我的数字的小数部分最多两位小数。
非常感谢您的帮助。
答案 0 :(得分:5)
因此,如果要四舍五入到最接近的“一半”,则需要将数字加倍,四舍五入到小数点后一位,然后除以二:
Math.Round(num * 2, 1) /2
因此,您的示例数据:
Console.WriteLine(Math.Round(40.11 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.12 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.13 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.14 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.16 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.17 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.18 * 2, 1) / 2);
Console.WriteLine(Math.Round(40.19 * 2, 1) / 2);
返回此(未格式化):
40.1
40.1
40.15
40.15
40.15
40.15
40.2
40.2