Java Rounding Up
41,050
Solution 1
To round up, you can use Math.ceil(numberGrade)
. To round to the nearest integer, use Math.round(numberGrade)
.
See: the Math
class
Solution 2
You could use either:
int intGrade = (int)(doubleGrade + 0.5);
Or
long longGrade = Math.round(doubleGrade);
int intGrade = (int)longGrade;
Author by
Admin
Updated on September 14, 2020Comments
-
Admin over 3 years
How can I rould the value of the numberGrade up so if it is 89.5 it goes to 90. numberGrade is taken in as a double but making it a int does not round it up or down.
public class GradeReporter { // The limit is the inclusive lower limit for each letter // grade -- this means that 89.5 is an 'A' not a 'B' public static final double A_LIMIT = 90; public static final double B_LIMIT = 80; public static final double C_LIMIT = 70; public static final double D_LIMIT = 60; public static final double F_LIMIT = 60; /** Converts a numeric grade into a letter grade. Grades should be rounded to * nearest whole number * * @param a numeric grade in the range of 0 to 100 * @returns a letter grade based on the numeric grade, possible grades are A, B, C, D and F. */ public char letterGrade(double numberGrade) { int grade = int(numberGrade); if (grade >= A_LIMIT) letterGrade = 'A'; else if (grade >= B_LIMIT) letterGrade = 'B'; else if (grade >= C_LIMIT) letterGrade = 'C'; else if (grade >= D_LIMIT) letterGrade = 'D'; else if (grade < F_LIMIT)//4 letterGrade = 'F'; return letterGrade; }