How to Generate Random Number Within Min and Max

In this example, we are going to show you the simple way to generate random numbers or double values within the minimum and maximum range. See the example below for more details.

Import dart:math:

import 'dart:math';

Generate Random Integer with Dart:

int random = Random().nextInt(1000); //1000 is MAX value
//generate random number below 1000

Generate Random Integer within Min and Max range:

int randomminmax = min + Random().nextInt(max - min);
//generate random number within minimum and maximum value

Generate Random Double Value:

double randomdouble = Random().nextDouble();
 //generate random double within 0.00 - 1.00;

randomdouble = double.parse(randomdouble.toStringAsFixed(4));
//toStringAsFixed will fix decimal length to 4, 0.3454534 = 0.3454

See the Full Flutter Example to implement it. 

import 'dart:math';
import 'package:flutter/material.dart';
void main(){
  runApp(MyApp());
}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Home(),
    );
  }
}

class Home extends StatefulWidget{
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {

  int randomnumber = 0, randomminmax = 0;
  double randomdouble = 0.00;

  int randomNumber(){
    int random = Random().nextInt(1000); //1000 is MAX value
    //generate random number below 1000
    return random;
  }

  int randomNumberMinMax(int min, int max){
    int randomminmax = min + Random().nextInt(max - min);
    //generate random number within minimum and maximum value
    return randomminmax;
  }

  double randomDouble(){
     double randomdouble = Random().nextDouble();
     //generate random double within 0.00 - 1.00;
     return double.parse(randomdouble.toStringAsFixed(4));
     //toStringAsFixed will fix decimal length to 4, 0.3454534 = 0.3454
  }

  @override
  Widget build(BuildContext context) {
    return  Scaffold(
          appBar: AppBar( 
            title: Text("Random Number"),
            backgroundColor: Colors.deepPurpleAccent,
          ),
          body: Container(
                 height:200,
                 alignment: Alignment.center, 
                 child: Column(
                   mainAxisAlignment: MainAxisAlignment.center,
                   children: [
                       ElevatedButton(
                         onPressed: (){
                             setState(() {
                               randomnumber = randomNumber(); 
                               //call random number generate function
                             });
                         }, 
                       child: Text("Random Number: $randomnumber")
                       ),

                       ElevatedButton(
                         onPressed: (){
                             setState(() {
                               randomminmax = randomNumberMinMax(100, 300);
                               //call random number generate  function with min and max
                             });
                         }, 
                       child: Text("Random Number Min Max: $randomminmax")
                       ),

                       ElevatedButton(
                         onPressed: (){
                             setState(() {
                               randomdouble = randomDouble();
                               //call random double value generate function
                             });
                         }, 
                       child: Text("Random Duouble: $randomdouble")
                       )
                   ],
                 )
             )
       );
  }
}

Output Screenshot:

In this way, you can generate random numbers within min and max range, double values using dart in Flutter App. 

No any Comments on this Article


Please Wait...