Round Double To Nearest Hundredth

The following snippet demonstrates several ways to round a double in Java to the nearest integer, tenths, hundredths, or thousandths decimal place. The code handles both positive and negative numbers (and zero, too).

double x = 0.0d;
double y = 0.0d;

// Double rounded to the nearest integer.
y = (int) (x + ((x < 0.0) ? -0.5 : 0.5));

// Double rounded to the nearest tenth.
y = ((int) ((x * 10.0) + ((x < 0.0) ? -0.5 : 0.5))) / 10.0;

// Double rounded to the nearest hundredth.
y = ((int) ((x * 100.0) + ((x < 0.0) ? -0.5 : 0.5))) / 100.0;

// Double rounded to the nearest thousandth.
y = ((int) ((x * 1000.0) + ((x < 0.0) ? -0.5 : 0.5))) / 1000.0;

Leave a Comment