gpt4 book ai didi

c# - 如何舍入到最接近的 0.5?

转载 作者:太空宇宙 更新时间:2023-11-03 17:11:50 26 4
gpt4 key购买 nike

在我的申请中
例 1:开始时间 12.30 (-)结束时间 16.00 在这里我得到的值为 3.7 但我需要在我的应用程序中将此 3.7 显示为 3.5 例 2:开始时间 12.00 (-)结束时间 16.00 这里我得到的值是 4.0 这里不需要改变值

(1.7,2.7,3.7,4.7,....等)表示为(1.5,2.5,3.5,4.5,..等)

那么如何为此编写一个函数,如果该值包含 (1.7,2.7) 我应该更改为 1.5,2.5 或者如果它包含 1.0,2.0 那么就不需要替换任何值?

最佳答案

这个扩展方法应该可以完成这项工作:

public decimal RoundToNearestHalf(this decimal value)
{
return Math.Round(value * 2) / 2;
}

var num1 = (3.7).RoundToNearestHalf(); // 3.5
var num1 = (4.0).RoundToNearestHalf(); // 4.0

我在代码中使用了 decimal 类型,因为您似乎想要保持以 10 为基数的精度。如果你不这样做,那么 float/double 当然也可以。

关于c# - 如何舍入到最接近的 0.5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com