19

C# の丸めについて検索しましたが、現在の問題に対する答えを見つけることができませんでした。

私がやりたいことは、常に最も近い 50 に切り捨てることです。切り捨てたい値はすべて 10 進数になります。

したがって、635.25 は 600 になります。

298.42 は 250 になります。

149.56 は 100 になります。

私はmath.roundを見てきましたが、それをどのように使用すれば、常に最も近い50に切り捨てられ、決して切り上げられませんか?

4

3 に答える 3

41

値を 50 で割り、最も近い整数に切り捨て、さらに 50 を掛けます。

double n = Math.Floor(n / 50.0) * 50.0;
于 2013-02-22T16:00:41.627 に答える
5

Guffa's への別の方法:

(((int) value) / 50) * 50
于 2013-02-22T16:00:35.353 に答える
2

モジュラスの使用:

var roundedDownToClosestFifty = value - (value % 50);
于 2018-03-19T15:53:53.017 に答える