将数字的小数部分四舍五入到最接近的 0.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
我的数字有小数部分,最多两位小数。
任何帮助是极大的赞赏。
因此,如果您想四舍五入到最接近的“一半”,则需要将数字加倍,四舍五入到一位小数,然后除以二:
Math.Round(num * 2, 1) /2
Run Code Online (Sandbox Code Playgroud)
所以你的示例数据:
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);
Run Code Online (Sandbox Code Playgroud)
返回这个(未格式化):
40.1
40.1
40.15
40.15
40.15
40.15
40.2
40.2
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |