記事の内容
この記事では、Dartを使った四捨五入、数字の切り上げ、切り捨てについて説明します。
round、ceil、floorの3つのメソッドを紹介します。
四捨五入(round)
小数点の四捨五入の桁を指定したい場合は、事前に10を掛けて四捨五入をしてから、計算結果を10で割ります。
整数部分の四捨五入を指定したい場合は、事前に10で割って四捨五入をしてから、計算結果に10を掛けます。
main() { | |
var number = 123.4; | |
print(number.round()); | |
// 123 | |
number = 123.5; | |
print(number.round()); | |
// 124 | |
// 桁数を指定して四捨五入 | |
const base_number = 10; | |
number = 123.44; | |
print((number * base_number).round() / base_number); | |
// 123.4 | |
number = 123.45; | |
print((number * base_number).round() / base_number); | |
// 123.5 | |
//整数部分を四捨五入 | |
const base_number_3 = 10; | |
number = 144; | |
print((number / base_number_3).round() * base_number_3); | |
// 140 | |
number = 145; | |
print((number / base_number_3).round() * base_number_3); | |
// 150 | |
} |
切り上げ(ceil)
切り上げの桁を指定したい場合は、四捨五入と同じやり方をします。
main() { | |
var number = 123.4; | |
print(number.ceil()); | |
// 124 | |
number = 123.5; | |
print(number.ceil()); | |
// 124 | |
// 桁数を指定して切り上げ | |
const base_number = 10; | |
number = 123.44; | |
print((number * base_number).ceil() / base_number); | |
// 123.5 | |
number = 123.45; | |
print((number * base_number).ceil() / base_number); | |
// 123.5 | |
//整数部分を切り上げ | |
const base_number_3 = 10; | |
number = 144; | |
print((number / base_number_3).ceil() * base_number_3); | |
// 150 | |
number = 145; | |
print((number / base_number_3).ceil() * base_number_3); | |
// 150 | |
} |
切り捨て(floor)
切り捨ての桁を指定したい場合は、四捨五入と同じやり方をします。
main() { | |
var number = 123.4; | |
print(number.floor()); | |
// 123 | |
number = 123.5; | |
print(number.floor()); | |
// 123 | |
// 桁数を指定して切り捨て | |
const base_number = 10; | |
number = 123.44; | |
print((number * base_number).floor() / base_number); | |
// 123.4 | |
number = 123.45; | |
print((number * base_number).floor() / base_number); | |
// 123.4 | |
//整数部分を切り捨て | |
const base_number_3 = 10; | |
number = 144; | |
print((number / base_number_3).floor() * base_number_3); | |
// 140 | |
number = 145; | |
print((number / base_number_3).floor() * base_number_3); | |
// 140 | |
} |