rangeTo
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
}
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
}
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
}