C# how to always round down to nearest 50

大城市里の小女人 提交于 2019-12-18 04:34:23

问题


I've done a search on C# rounding, but haven't been able to find the answer to my current problem.

What I want to do is always round down to the nearest 50. All the values I want to round down will be in decimal.

So 635.25 would be 600.

298.42 would be 250.

149.56 would be 100.

I've looked at math.round but how would I use that so it always rounds down to the nearest 50 and never up?


回答1:


Divide the value by 50, round down to the closest whole number, and multiply by 50 again:

double n = Math.Floor(n / 50.0) * 50.0;



回答2:


Another way to Guffa's:

(((int) value) / 50) * 50



回答3:


Using modulus:

var roundedDownToClosestFifty = value - (value % 50);


来源:https://stackoverflow.com/questions/15028144/c-sharp-how-to-always-round-down-to-nearest-50

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!