在我的申请中
例 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
当然也可以。
我是一名优秀的程序员,十分优秀!