How to convert Double to Integer or Integer to double in Dart| Flutter By Example

This tutorial shows multiple ways to Convert Double to Int and Int to double in Dart and Flutter programming.

  • Convert Double to Int in Dart:
    • First Way, use double.toInt() method, For example: 3.4.toInt() returns int value 3.
    • Second way, use double.truncate() method to remove decimals from a number.3.4.truncate() returns int value 3. The third way, use rounding methods such as round, ceil, and floor based on the lower or upper value of a given number.
  • Convert Int to Double in Dart:
    • Int.toDouble() returns double value
    • double.parse(numberstring) method that takes number string, returns double, Example double.parse("123") returns double 123
    • use division(/) operator to divide number by 1.

Let’s explore the Int and Double types in Dart and Flutter.

Int is a primitive type designed to store numeric values, specifically, arbitrary-precision signed integers without decimals. Examples of int type values include 1 and 5.

On the other hand, Double is a primitive type tailored to store IEEE-754 double-precision floating-point numbers. Examples of double-type values encompass 1.34 and 1.0.

It’s crucial to note that Int and Double are distinct types that hold different kinds of values. The Dart compiler does not automatically convert between them; therefore, manual conversion is required when converting from one type to another.

How to convert Double to Int type in Dart?

There are various methods to convert a double to an int in Dart programming.

  • use Double toInt() method:

    A Double type in Dart is designed to store numbers with decimals.

    The double.toInt() method is utilized to eliminate decimals from a given double number, returning the corresponding int value.

    Syntax.

    Int toInt()
    

    Returns integer number.

    Here is a Double toInt() Example

    main() {
      double double1 = 3.4;
      print(double1.runtimeType); // double
      int i1 = double1.toInt();
      print(i1); // 3
      print(i1.runtimeType); // int
    }
    
  • Double truncate() method

    double.truncate() method also ignores the decimal value and returns the int value.

    Syntax:

    int truncate()
    

    Here is a double truncate() example program

    main() {
      double double1 = 12.9;
      print(double1.runtimeType); // Double
      int i1 = double1.truncate();
      print(i1); // 12
      print(i1.runtimeType); // int
    }
    

    Another way, using methods - round(), ceil(), floor() which does round a given double number in dart and flutter.

  • rounded a number using round(),ceil(), and floor()

    • round() method: returns the closest int number. For example, 6.5.round() returns 7.

      Here is a round() method example program

          main() {
        double double1 = 12.9;
        double double2 = 3.4;
      
        print(double1.runtimeType); // double
        print(double2.runtimeType); // double
      
        int i1 = double1.round();
        print(i1); // 13
        print(i1.runtimeType); // int
        int i2 = double2.round();
        print(i2); // 3
        print(i2.runtimeType); // int
      }
      
  • ceil() method: returns the ceiling number which is the upper of a given int part. For example, 9.5.round() returns 10.

Here is a ceil() method example program

    main() {
  double double1 = 12.9;
  double double2 = 3.4;

  print(double1.runtimeType); // double
  print(double2.runtimeType); // double

  int i1 = double1.ceil();
  print(i1); // 13
  print(i1.runtimeType); // int
  int i2 = double2.ceil();
  print(i2); // 4
  print(i2.runtimeType); // int
}
  • floor() method : returns the rounded floor number which is lower than a given int part. For example, 9.5.round() returns 9.

Here is a floor() method example program

main() {
  double double1 = 12.9;
  double double2 = 3.4;

  print(double1.runtimeType); // double
  print(double2.runtimeType); // double

  int i1 = double1.floor();
  print(i1); // 12
  print(i1.runtimeType); // int
  int i2 = double2.floor();
  print(i2); // 3
  print(i2.runtimeType); // int
}

All the above methods work in flutter programming to convert double to int.

How to parse int to double in Dart or Flutter?

For example, an int value directly assigned to a double value gives the error A value of type ‘int’ can’t be assigned to a variable of type ‘double’. for a below code.

  int number = 10;
  double dd=number;

Following are multiple ways to convert int type to double in flutter or dart.

  • use int toDouble method:

    toDouble()method of int can be assigned to double type. Here is an example:

    main() {
      int number = 10;
      double d1 = number.toDouble();
      print(d1); //10
      print(d1.runtimeType); //10
    }
    
  • double parse method:

    First, obtain the string representation of a number. Next, pass this string to double.parse(), and assign the resulting value to a variable of type double.

    Here is an example:

    main() {
      int number = 10;
      double d1 = double.parse(number.toString());
      print(d1); //10
    }
    
  • use the divide operator with 1:

    This is simple and easy as all the division operations result in Double flutter.

    Divide the integer number by 1 resulting in a double type value. Here is an example:

    main() {
      int number = 10;
      double d1 = number/1;
      print(d1); //10
    }
    

Conclusion

To summarize, We can easily convert numeric types with built-in methods provided by int and double.