如何舍入为半值

问题描述 投票:0回答:1

我正尝试如下所示。

1.1 -> 1
1.2 -> 1
.
1.4 -> 1
1.5 -> 1.5
1.6 -> 1.5
.
.
1.9 -> 1.5
2 -> 2

我该如何实现?我试过Math.Round(value)Math.Round(value,1)Math.Round(value,MidpointRounding.AwayFromZero)似乎什么都没有实现。非常感谢您的帮助

c# rounding
1个回答
0
投票

这应该使用Math.Floor方法返回预期的结果,因为它

返回小于或等于指定值的最大整数值数字。

Math.Floor

[double value = 1d; do { var result = Math.Floor(value * 2) / 2; Console.WriteLine($"{value:f1}->{result}"); value += 0.1; } while (value < 2.1); 返回Math.Round作为1.51.3的结果

© www.soinside.com 2019 - 2024. All rights reserved.