如果在c#中该值等于0.7,如何舍入?

com*_*kph 3 .net c# decimal rounding

如果值大于0.7,我想舍入小数

样品:

decimal rate = 3.7
decimal roundoff = 4 

decimal rate2 = 3.6
decimal roundoff2 = 3.6 //remain value coz its below 0.7
Run Code Online (Sandbox Code Playgroud)

我怎么能在c#中做到这一点?

Pat*_*man 15

您可以使用模数来计算余数:

decimal d = rate % 1 >= .7m ? Math.Ceiling(rate) : rate;
Run Code Online (Sandbox Code Playgroud)

您可以将此值用于负值:

return rate >= 0
       ? (rate % 1 >= .7m ? Math.Ceiling(rate) : rate) 
       : (Math.Abs(rate % 1) >= .3m ? Math.Floor(rate) : rate);
Run Code Online (Sandbox Code Playgroud)