디폴트로 부동소수점 리터럴은 Double 타입이다. f나 F를 리터럴 뒤에 붙이면 Float 타입이 된다(f나 F를 붙이는 경우 소수점을 포함한 소수 부분을 생략할 수 있다).
val pi = 3.14f val one = 1f
자바 vs. 코틀린 자바에서는 D나 d를 부동소수점 리터럴 뒤에 붙여서 강제로 double 타입으로 만들 수 있다(예 1.25d). 하지만 코틀린에서는 이런 접미사를 허용하지 않으며, 부동소수점 리터럴의 타입은 디폴트로 Double이다.
Float 리터럴이 Double 타입으로 자동 변환되지 않는다는 점에 유의하자. 다음 코드는 컴파일 오류를 낸다.
val pi: Double = 3.14f // Error
Float와 Double도 각 타입의 특별한 값을 표현하는 몇 가지 상수를 제공한다.
• 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