JS100 평균점수 구하기 parseInt, Math.floor

공백으로 구분하여 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요.
단, 소숫점 자리는 모두 버립니다.

입력 : 20 30 40
출력 : 30

prompt로 입력받은 숫자는 문자열로 본다. 그래서
0 + 34 + 34 + 34 = 0343434 이렇게 된다.







parseInt(scores[i], 10) -> 십진수의 형태의 숫자로 데이터 타입을 변환함.

Math.floor() 소수점 자리를 모두 버림.



parseInt()

parseInt() 함수는 문자열 인자를 구문분석하여 특정 진수(수의 진법 체계에 기준이 되는 값)의 정수를 반환합니다.

parseInt(string, radix);

첫글자를 정수로 반환할 수 없으면 NaN값 반환.

document.writeln(parseInt("10")); // 10
document.writeln(parseInt("-10")); // -10
document.writeln(parseInt("10.9")); // 10
document.writeln(parseInt(10)); // 10 문자열로 변환후 처리.
document.writeln(parseInt("10n")); // 10
document.writeln(parseInt("10nnn13")); // 10숫자 이후 문자 무시
document.writeln(parseInt("    10")); // 10
document.writeln(parseInt("10      ")); // 10
document.writeln(parseInt("k10")); // NaN 
document.writeln(parseInt("")); // NaN

문자로 시작되거나 숫자 없으면 NaN이다.
document.writeln(parseInt("10", 2)); //2
//  10을 2진법으로 읽어서 10진법으로 변환한 값을 리턴.
document.writeln(parseInt("2", 2)); // NaN
// "2"를 2진법으로 읽어야 하는데, 2진법에는 2라는 숫자가 없으므로
//NaN을 리턴.
document.writeln(parseInt("0xF")); // 15
//두번째 파라미터로 16진법을 의미하는 16을 입력하지 않아도, 
//첫 번째 파라미터인 문자열이 '0x' 또는 '0X'로 시작한다면
//16진수를 의미, 10진수로 변환한 값을 리턴합니다.
document.writeln(parseInt("0XFkk")); // 15

16진수

참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=silverstonec&logNo=60196870427
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f





Math.floor()

주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다.
floor()는 Math의 정적 메서드이므로, 사용자가 생성한 Math 객체의 메서드로 호출할 수 없고 항상 Math.floor()를 사용해야 합니다.

console.log(Math.floor(5.95));
// expected output: 5

console.log(Math.floor(5));
// expected output: 5

console.log(Math.floor(-5.05));
// expected output: -6

참고: Math.floor(null)은 NaN 대신 0을 반환합니다.

좋은 웹페이지 즐겨찾기