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

Kotlin

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

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

スポンサーリンク

方法

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

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

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

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

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

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

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

使用例

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

fun main() {
	val num = 3.1412;
    val num2 = 2.718;
    val num3 = 1.41421;
    
    val result = roundUp(num, 2);
    val result2 = roundUp(num2, 3);
    val result3 = roundUp(num3, 4);
   
    println(result);
    println(result2);
    println(result3);
}
出力:
3.2
2.72
1.415

コメント

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