nextDouble
Gets the next random Double value uniformly distributed between 0 (inclusive) and 1 (exclusive).
import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue
fun main(args: Array<String>) {
//sampleStart
if (Random.nextDouble() <= 0.3) {
println("There was 30% possibility of rainy weather today and it is raining.")
} else {
println("There was 70% possibility of sunny weather today and the sun is shining.")
}
//sampleEnd
}
Gets the next random non-negative Double
from the random number generator less than the specified until bound.
Generates a Double
random value uniformly distributed between 0 (inclusive) and until (exclusive).
import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue
fun main(args: Array<String>) {
//sampleStart
val firstAngle = Random.nextDouble(until = Math.PI / 6);
println("sin(firstAngle) < 0.5 is ${sin(firstAngle) < 0.5}") // true
val secondAngle = Random.nextDouble(from = Math.PI / 6, until = Math.PI / 2)
val sinValue = sin(secondAngle)
println("sinValue >= 0.5 && sinValue < 1.0 is ${sinValue >= 0.5 && sinValue < 1.0}") // true
//sampleEnd
}
Exceptions
IllegalArgumentException
- if until is negative or zero.
Gets the next random Double
from the random number generator in the specified range.
Generates a Double
random value uniformly distributed between the specified from (inclusive) and until (exclusive) bounds.
from and until must be finite otherwise the behavior is unspecified.
import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue
fun main(args: Array<String>) {
//sampleStart
val firstAngle = Random.nextDouble(until = Math.PI / 6);
println("sin(firstAngle) < 0.5 is ${sin(firstAngle) < 0.5}") // true
val secondAngle = Random.nextDouble(from = Math.PI / 6, until = Math.PI / 2)
val sinValue = sin(secondAngle)
println("sinValue >= 0.5 && sinValue < 1.0 is ${sinValue >= 0.5 && sinValue < 1.0}") // true
//sampleEnd
}
Exceptions
IllegalArgumentException
- if from is greater than or equal to until.