[Kotlin]数値の小数点第N位を切り捨てるには?

Kotlin

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

数値の小数点第N位を切り捨てる方法を紹介します。

スポンサーリンク

方法

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

数値の小数点第N位を切り捨てるには、Mathを使います。

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

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

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

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

上記のMath.floor()は、引数に指定した数値を切り捨てた数値を取得します。

使用例

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

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

コメント

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