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.
    • Third way, use rounding methods such as round, ceil, and floor based on 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 see what are Int and Double types in Dart and Flutter.

Int is a primitive type that stores numeric numbers, with arbitrary-precision signed integer without decimals. Examples int type values are 1,5.

Double is a primitive type that stores IEEE-754 double-precision floating numbers. Example double type values are 1.34,1.0.

Int and Double are different types and hold different values. Automatic conversion does not happen with the Dart compiler.

We have to convert from one type to another type manually.

How to convert Double to Int type in Dart?

There are multiple ways we can parse double to int in dart programming.

  • use Double toInt() method:

Double contains number with decimals. double.toInt() method removes the decimals from a given double number and returns the 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 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, get the string version of a number, Next, pass this string to double.parse(), assigned to a double number. 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 operation results in Double flutter.

Divide the integer number by 1 results 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.