Number() - 문자열을 숫자로 바꾸는 함수, 만약 인수를 형변환 할 수 없다면 NaN을 리턴
Number('123') // 123
Number('+123') // 123
Number('1.23') // 1.23
Number('-1.23') // -1.23
Number(null) // 0
Number('') // 0
Number('5000won') // NaN
Number('bryan') // NaN
parseFloat() - 문자열을 실수로 바꾸는 함수
실수: 유리수와 무리수를 통틀어서 실수라고 한다. (4/7, 8/9 등은 정수가 아니고, +9, -5, 0 등이 정수)
유리수: 분자와 분모가 모두 정수인 분수로 나타낼 수 있는 수로 양수(+), 0, 음수(-)가 모두 포함된다. (쉽게 모든 수가 포함된다고 생각하면 됨)
정수가 아닌 유리수: 얖에서 말한 자연수가 아닌 분수, 소수(0.1, 0.2 등등)을 말함. (4/7, 0.3, 0.8 등등)
무리수: 실수 중에서 유리수가 아닌 수.
자연수: 양의 정수를 말하므로, 0은 자연수가 아니다.
문법
parseFloat( string )
* 문자열 인자(숫자 + 문자)를 받는다.
* 그 인자를 parse(해부하다, 품사문법적 관계를 설명하다)한다.
* 부동 소수점 숫자(float point number)를 반환한다.
* 수로 시작할 때 그 수를 실수로 바꾼다.
* 띄어 쓰기로 여러 개의 수가 있으면 첫번째 수만 바꾼다.
* 공백으로 시작하면 공백은 무시한다.
* 수가 아닌 문자로 시작하면 NaN을 반환.
예제
parseFloat( '12.34' ) // 12.34
parseFloat( ' 12.34' ) // 12.34
parseFloat( '12.34 56.78' ) // 12.34
parseFloat( 'A 12.34' ) // NaN
parseFloat('08') // 8
parseFloat('-421') // -421
parseFloat('421') // 421
parseFloat('+421') // 421
parseFloat('21000won') // 21000
parseFloat('2.34') // 2.34
parseFloat(null) // NaN
parseInt() - 문자열을 정수로 바꾸는 함수
정수: 정수는 +,- 가 붙은 모든 자연수이다. 그런데 0도 포함된다.
문법
parseInt( string, n )
* 문자열 인자(숫자 + 문자)를 받는다.
* 그 인자를 parse(해부하다, 품사문법적 관계를 설명하다)한다.
* integer(정수) 또는 NaN을 리턴한다.
* string을 n진법일 때의 값으로 바꾼다. n은 옵션으로 2부터 36까지 입력가능. 입력하지 않으면 자동으로 10으로 처리
* string의 처리는 parseFloat()과 거의 같다.
* 소수 부분은 버린다.
* 0x로 시작하면 16진법으로 처리한다.
예제
* parseInt('100',2) : 100은 2진법으로 4이다.
* parseInt('0x100') : 100은 16진법으로 256이다.
parseInt( '12.68' ) // 12
parseInt( '100', 10 ) // 100
parseInt( '100', 2 ) // 4
parseInt( '0x100' ) // 256
parseInt('08') // 8
parseInt('-421') // -421
parseInt('+421') // 421
parseInt('421') // 421
parseInt('21000won') // 21000
parseInt('2.34') // 2
parseInt(null) // NaN
parseInt()와 parseFloat의 공통점
* Number()와 달리, 일반 문자를 무시하고 숫자만 반환된다.
let won = '2000won'
console.log(Number(won)); // NaN
console.log(parseInt(won)); // 2000
conosle.log(parseFloat(won)); // 2000
parseInt()와 parseFloat의 차이점
* 소수 점 뒤의 수를 무시하는지 안하는지의 차이
let decimalNum = 3.34
let strDecimalNum = '3.34'
console.log(parseInt(decimalNum)) // 3
console.log(parseInt(stringDecimalNum)) // 3
console.log(parseFloat(decimalNum)) // 3.34
console.log(parseFloat(strDecimalNum)) // 3.34
'자바스크립트 > 기초' 카테고리의 다른 글
객체(Object) (0) | 2021.05.26 |
---|---|
배열 (1) | 2021.05.25 |
operators 오답노트 (1) | 2021.05.23 |
형 변환 (1) | 2021.05.23 |
alert, prompt, confirm을 이용한 상호작용 (1) | 2021.05.23 |