Java Rounding Up

How do I set the value of numbergrade so that if it is 89.5, it becomes 90 Numbergrade is treated as double, but making it int does not round 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;
    }

Solution

To round up, you can use math ceil(numberGrade). To round to the nearest integer, use math round(numberGrade).

See: the math class

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>