9

RoundingModeを使用すると、プログラマーは浮動小数点数をどのように丸めるかを指定できます。これは素晴らしいことですが、私が独特だと思ったことが1つあります。たぶん私は学校で何か基本的なことを誤解しただけです。

しかし、この丸めモードは、私が学校で教えられたものとして説明されています。「常に最も近い数に丸め、中央で死んだときは常に切り上げます。」しかし、なぜそれは-2.5から-3に丸められるのですか?

絶対値で切り上げたと思いますが、私にとっては、-2は確かに-2.5から「上」になっています。

4

2 に答える 2

6

RoundingMode.UP「ゼロから離れる」ための丸めモードです。 RoundingMode.FLOORは負の無限大にCEILING向かっており、正の無限大に向かっています。 小数部分がちょうど 0.5 の場合HALF_UPと一致します。UP

彼らは、「ゼロから離れて」を意味する用語を選択する必要がありました。

于 2012-12-21T19:16:21.897 に答える
3

理論的根拠は、 RoundingMode.HALF_UPの JavaDocs で概説されています。

両方の隣接点が等距離でない限り、「最も近い隣接点」に向かって丸める丸めモード。その場合は切り上げます。破棄された端数が >= 0.5 の場合、RoundingMode.UP と同じように動作します。それ以外の場合は、RoundingMode.DOWN と同じように動作します。これは、学校で一般的に教えられている丸めモードであることに注意してください。

丸め方法に関するウィキペディアの記事では、別の主張が行われています

たとえば、このルールでは、値 23.5 は 24 に丸められますが、-23.5 は -23 に丸められます。

これは、米国の初等数学クラスで一般的に教えられている 2 つの規則のうちの 1 つです。

引用が要求されていますが。

于 2012-12-21T19:09:29.437 に答える