더북(TheBook)

2.2.2 부동소수점 수

자바와 마찬가지로 코틀린도 IEEE 754 부동소수점 수(floating point number)를 따르는 FloatDouble을 제공한다. 이 둘은 각각 자바의 floatdouble에 대응한다.

부동소수점 수 리터럴 중 가장 단순한 형태는 10진 소수 형태로, 정수 부분과 소수 부분을 나눠 소수점(.)을 찍어 놓았다.

val pi = 3.14
val one = 1.0

정수 부분이 비어있는 경우 정수 부분을 0으로 간주한다. 하지만 소수점을 남기면서 소수 부분을 생략할 수는 없다.

val quarter = .25 // 0.25
val one = 1.      // Error: Expecting an element
val two = 2       // 오류는 아니지만, 정수 리터럴임

코틀린은 과학적 표기법(scientific notation) 리터럴을 허용한다. 과학적 표기법에서는 eE 뒤에 10을 몇 번 거듭제곱하는지를 알려주는 숫자가 온다.

val pi = 0.314E1        // 3.14 = 0.314*10
val pi100 = 0.314E3     // 314.0 = 0.314*1000
val piOver100 = 3.14E-2 // 0.0314 = 3.14/100
val thousand = 1E3      // 1000.0 = 1*1000

과학적 표기법에서는 소수 부분(소수점 포함)을 생략할 수 있다.

자바 vs. 코틀린 자바 6+와 달리 코틀린에서는 Double이나 Float의 16진 리터럴을 지원하지 않는다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.