1. 概要

このクイックチュートリアルでは、指定された数値を最も近い100に切り上げる方法を説明します。

例:99100 200.2300 400400になります

2. 実装

まず、入力パラメーターで Math.ceil()を呼び出します。  Math.ceil()は、引数以上の最小の整数を返します。たとえば、入力が200.2の場合、 Math.ceil()は201を返します。

次に、結果に99を加算し、100で除算します。 整数除算を利用して、商の小数部分を切り捨てています。最後に、商に100を掛けて、目的の出力を取得します。

これが私たちの実装です:

static long round(double input) {
    long i = (long) Math.ceil(input);
    return ((i + 99) / 100) * 100;
};

3. テスト

実装をテストしてみましょう:

@Test
public void givenInput_whenRound_thenRoundUpToTheNearestHundred() {
    assertEquals("Rounded up to hundred", 100, RoundUpToHundred.round(99));
    assertEquals("Rounded up to three hundred ", 300, RoundUpToHundred.round(200.2));
    assertEquals("Returns same rounded value", 400, RoundUpToHundred.round(400));
}

4. 結論

この簡単な記事では、数値を100の位に切り上げる方法を示しました。

いつものように、完全なコードはGitHub利用できます。