더북(TheBook)

디폴트로 부동소수점 리터럴은 Double 타입이다. fF를 리터럴 뒤에 붙이면 Float 타입이 된다(fF를 붙이는 경우 소수점을 포함한 소수 부분을 생략할 수 있다).

val pi = 3.14f
val one = 1f

자바 vs. 코틀린 자바에서는 Dd를 부동소수점 리터럴 뒤에 붙여서 강제로 double 타입으로 만들 수 있다( 1.25d). 하지만 코틀린에서는 이런 접미사를 허용하지 않으며, 부동소수점 리터럴의 타입은 디폴트로 Double이다.

Float 리터럴이 Double 타입으로 자동 변환되지 않는다는 점에 유의하자. 다음 코드는 컴파일 오류를 낸다.

val pi: Double = 3.14f // Error

FloatDouble도 각 타입의 특별한 값을 표현하는 몇 가지 상수를 제공한다.

MIN_VALUE, MAX_VALUE: 각 타입에서 표현할 수 있는 가장 작은 유한값과 가장 큰 유한값

NEGATIVE_INFINITY, POSITIVE_INFINITY: 음의 무한대와 양의 무한대. 각 타입이 표현할 수 있는 가장 작은 값과 가장 큰 값

NaN: 0/0의 결과처럼 숫자가 아닌 값을 의미

println(Float.MIN_VALUE)                // 1.4E-45
println(Double.MAX_VALUE)               // 1.7976931348623157E308
println(Double.POSITIVE_INFINITY)       // Infinity
println(1.0/Double.NEGATIVE_INFINITY)   // -0.0
println(2 - Double.POSITIVE_INFINITY)   // -Infinity
println(3 * Float.NaN)                  // NaN
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.