rangeTo

Common
JVM
JS
Native
1.0
operator fun <T : Comparable<T>> T.rangeTo(
    that: T
): ClosedRange<T>

Creates a range from this Comparable value to the specified that value.

This value needs to be smaller than that value, otherwise the returned range will be empty.

import java.sql.Date
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
val start = Date.valueOf("2017-01-01")
val end = Date.valueOf("2017-12-31")
val range = start..end
println(range) // 2017-01-01..2017-12-31

println("Date.valueOf("2017-05-27") in range is ${Date.valueOf("2017-05-27") in range}") // true
println("Date.valueOf("2018-01-01") in range is ${Date.valueOf("2018-01-01") in range}") // false
println("Date.valueOf("2018-01-01") !in range is ${Date.valueOf("2018-01-01") !in range}") // true
//sampleEnd
}
Common
JVM
JS
Native
1.1
operator fun Double.rangeTo(
    that: Double
): ClosedFloatingPointRange<Double>

Creates a range from this Double value to the specified that value.

Numbers are compared with the ends of this range according to IEEE-754.

import java.sql.Date
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
val range = 1.0..100.0
println(range) // 1.0..100.0

println("3.14 in range is ${3.14 in range}") // true
println("100.1 in range is ${100.1 in range}") // false
//sampleEnd
}
Common
JVM
JS
Native
1.1
operator fun Float.rangeTo(
    that: Float
): ClosedFloatingPointRange<Float>

Creates a range from this Float value to the specified that value.

Numbers are compared with the ends of this range according to IEEE-754.

import java.sql.Date
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
val range = 1f..100f
println(range) // 1.0..100.0

println("3.14f in range is ${3.14f in range}") // true
println("100.1f in range is ${100.1f in range}") // false
//sampleEnd
}