どうも、ちょげ(@chogetarou)です。
数値の小数点第N位を切り捨てる方法を紹介します。
方法

数値の小数点第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
コメント