神戸プログラミングアカデミーのブログ

「未経験から」「スキルアップ」「起業を目指す」無料で学べる神戸のプログラミング学校&学習コミュニティ

小数を切り捨て、切り上げ、四捨五入する関数を作成せよ

コマンドライン引き数で渡された、2つの整数 x , y の x / y の計算結果を小数点以下で①切り捨て②切り上げ③四捨五入するプログラムを作成せよ。 ただしMath.floor等の関数の使用を禁止する。

function floor(num) {
}
function round(num) {
}
function ceil(num) {
}
const a = process.argv[2]
const b = process.argv[3]
console.log(a / b)
console.log(floor(a / b))
console.log(round(a / b))
console.log(ceil(a / b))

解答例

function floor(num) {
    let n = num
    while (true) {
        if (n < 1) {
            return num - n
        }
        n -= 1
    }
}
function round(num) {
    return (num - floor(num)) < 0.5 ? floor(num) : floor(num) + 1
}
function ceil(num) {
    return (num - floor(num)) > 0 ? floor(num) + 1 : floor(num)
}
const a = process.argv[2]
const b = process.argv[3]
console.log(a / b)
console.log(floor(a / b))
console.log(round(a / b))
console.log(ceil(a / b))