본문 바로가기

Code

[JS] 소수점 데이터 출력하기 (feat. 야구 타율)

1. 문제 상황

  • 타율을 할푼리의 형태로 출력하기
  • 소수점 아래의 값이 0인 경우를 조심해야 함.

2. 코드

const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

var k_rate = ['할', '푼', '리']

rl.on("line", (rate) => {
    for (var i = 0; i <= 2; i++) {
        
        // 1. 소수 -> 정수 형태로 출력
        var digit = Math.floor(rate * (10 ** (i + 1)))
    	
        
        // 2. 해당 소수점 자리가 0인 경우를 고려하기 위함
        if (digit !== 0) {
            
            // 3. 소수점 자리가 커질 수록 정수도 커지기 때문에 쪼개기 위함.
            var str = digit.toString().split('');
            
            // 4. 각 자리에 맡게 할, 푼, 리 붙이기
            console.log(str[str.length - 1] + k_rate[i])
        };
    };
    rl.close();
});

rl.on('close', () => {
    process.exit();
})