計算処理で切り上げ・切り捨て・四捨五入を使うが、忘れてしまうのでまとめてみた。
切り上げ
Math.ceil(x)
12345 console.log(Math.ceil(0.0)); // 0console.log(Math.ceil(0.1)); // 1console.log(Math.ceil(0.5)); // 1console.log(Math.ceil(0.9)); // 1console.log(Math.ceil(1.0)); // 1
切り捨て
Math.floor(x)
12345 console.log(Math.floor(0.0)); // 0console.log(Math.floor(0.1)); // 0console.log(Math.floor(0.5)); // 0console.log(Math.floor(0.9)); // 0console.log(Math.floor(1.0)); // 1
四捨五入
Math.round(x)
12345 console.log(Math.round(0.0)); // 0console.log(Math.round(0.1)); // 0console.log(Math.round(0.5)); // 1console.log(Math.round(0.9)); // 1console.log(Math.round(1.0)); // 1
例えば、xが900から1000で十の位以下の切り上げ・切り捨て・四捨五入を行う場合、xの値を100で除算して結果を求め、その結果を100で乗算すればよい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
console.log(Math.ceil(900 / 100) * 100); // 900 console.log(Math.ceil(901 / 100) * 100); // 1000 console.log(Math.ceil(950 / 100) * 100); // 1000 console.log(Math.ceil(999 / 100) * 100); // 1000 console.log(Math.ceil(1000 / 100) * 100); // 1000 console.log(Math.floor(900 / 100) * 100); // 900 console.log(Math.floor(901 / 100) * 100); // 900 console.log(Math.floor(950 / 100) * 100); // 900 console.log(Math.floor(999 / 100) * 100); // 900 console.log(Math.floor(1000 / 100) * 100); // 1000 console.log(Math.round(900 / 100) * 100); // 900 console.log(Math.round(901 / 100) * 100); // 900 console.log(Math.round(950 / 100) * 100); // 1000 console.log(Math.round(999 / 100) * 100); // 1000 console.log(Math.round(1000 / 100) * 100); // 1000 |
xが0.09~0.1で少数第三位以下の切り上げ・切り捨て・四捨五入を行う場合、xの値を100で乗算して結果を求め、その結果を100で除算すればよい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
console.log(Math.ceil(0.0900 * 100) / 100); // 0.09 console.log(Math.ceil(0.0901 * 100) / 100); // 0.1 console.log(Math.ceil(0.0950 * 100) / 100); // 0.1 console.log(Math.ceil(0.0999 * 100) / 100); // 0.1 console.log(Math.ceil(0.1000 * 100) / 100); // 0.1 console.log(Math.floor(0.0900 * 100) / 100); // 0.09 console.log(Math.floor(0.0901 * 100) / 100); // 0.09 console.log(Math.floor(0.0950 * 100) / 100); // 0.09 console.log(Math.floor(0.0999 * 100) / 100); // 0.09 console.log(Math.floor(0.1000 * 100) / 100); // 0.1 console.log(Math.round(0.0900 * 100) / 100); // 0.09 console.log(Math.round(0.0901 * 100) / 100); // 0.09 console.log(Math.round(0.0950 * 100) / 100); // 0.1 console.log(Math.round(0.0999 * 100) / 100); // 0.1 console.log(Math.round(0.1000 * 100) / 100); // 0.1 |