 This tutorial shows you how to perform conversion between `double` and `int` in Dart.

## Convert `double` to `int`

There are some methods for converting `double` to `int`: `toInt()`, `round()`,`ceil()`, and `floor()`. All of those methods return `int`.

• `toInt()` and `truncate()` work by truncating the decimal value.
• `round()` returns the closest integer. It uses half up rounding mode.
• `ceil()` returns the closest integer greater than the value.
• `floor()` returns the closest integer smaller than the value.

Example:

``````  double x = 2.5;

int a = x.toInt();
int b = x.truncate();
int c = x.round();
int d = x.ceil();
int e = x.floor();

print(a); // 2
print(b); // 2
print(c); // 3
print(d); // 3
print(3); // 2``````

There are also `truncateToDouble`, `roundToDouble`, `ceilToDouble`, and `floorToDouble` variants which do the similar thing to their respective non-`ToDouble` variant, but they return `double` with one decimal point (`.0`).

## Convert `int` to `double`

To convert an `int` to a `double`, use `toDouble()` method. The result is an integer with one decimal point (`.0`).

Example:

``````  int x = 10;

double a = x.toDouble();

print(a); # 10.0``````

The result is a `double` with one decimal point (`.0`).

That's how to convert between `double` and `int` in Dart. You may also be interested to read about how to round double to String with a certain decimal precision.