在我的应用程序
Ex 1:开始时间12.30( - )结束时间16.00这里我得到的值为3.7但我需要在我的应用程序中将此3.7显示为3.5 Ex 2:开始时间12.00( - )结束时间16.00这里我得到了值为4.0这里没有必要改变值
(1.7,2.7,3.7,4.7,......等)表示为(1.5,2.5,3.5,4.5,......等)
那么如何编写一个函数,如果vale包含(1.7,2.7)我应该改为1.5,2.5或者如果它包含1.0,2.0那么就没有必要替换任何值?
Nol*_*rin 16
这种扩展方法应该做的工作:
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
Run Code Online (Sandbox Code Playgroud)
我已经decimal在代码中使用了类型,因为它似乎想要保持基本10精度.如果你不这样做,那么float/ double当然也会这样做.