nextDouble

open override fun nextDouble(): Double

Gets the next random Double value uniformly distributed between 0 (inclusive) and 1 (exclusive).

Samples

import samples.*
import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue
fun main() { 
   //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
}

open override fun nextDouble(until: Double): Double

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).

Samples

import samples.*
import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue
fun main() { 
   //sampleStart 
   val firstAngle = Random.nextDouble(until = Math.PI / 6);
assertTrue(sin(firstAngle) < 0.5)

val secondAngle = Random.nextDouble(from = Math.PI / 6, until = Math.PI / 2)
val sinValue = sin(secondAngle)
assertTrue(sinValue >= 0.5 && sinValue < 1.0) 
   //sampleEnd
}

Throws

if until is negative or zero.


open override fun nextDouble(from: Double, until: Double): Double

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.

Samples

import samples.*
import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue
fun main() { 
   //sampleStart 
   val firstAngle = Random.nextDouble(until = Math.PI / 6);
assertTrue(sin(firstAngle) < 0.5)

val secondAngle = Random.nextDouble(from = Math.PI / 6, until = Math.PI / 2)
val sinValue = sin(secondAngle)
assertTrue(sinValue >= 0.5 && sinValue < 1.0) 
   //sampleEnd
}

Throws

if from is greater than or equal to until.