[Kotlin]数値の小数点第N位を四捨五入するには?

Kotlin

どうも、ちょげ(@chogetarou)です。

数値の小数点第N位を四捨五入する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

数値の小数点第N位を四捨五入するには、Mathを使います。

まず、Mathからround()を呼び出します。

Math.round()の引数に数値を10の(N-1)乗した数値を指定します。

そして、Math.round()の結果を10の(N-1)乗で割ります。

//digits=小数点の位、num=数値
val d = Math.pow(10.0, digits.toDouble() - 1.0);
val result = Math.round(num * d) / d

上記のMath.round()は、数値の小数点第N位を四捨五入した数値を取得します。

使用例

fun roundNum(num: Double, digits: Int): Double {
    val d = Math.pow(10.0, digits.toDouble() - 1.0);
    return Math.round(num * d) / d;
}

fun main() {
	val num = 3.1412;
    val num2 = 2.718;
    val num3 = 1.4142;
    
    val result = roundNum(num, 2);
    val result2 = roundNum(num2, 3);
    val result3 = roundNum(num3, 4);
   
    println(result);
    println(result2);
    println(result3);
}
出力:
3.1
2.72
1.414

コメント

タイトルとURLをコピーしました