如何使用浮点数在Java中舍入到2位小数

时间:2017-12-21 17:45:51

标签: java decimal

所以,假设由于某种原因,尽管小数点不准确,但程序中创建的浮点数是绝对必需的,是否可以使用任何方法将它们舍入到2位小数而不将它们转换为双精度数?

1 个答案:

答案 0 :(得分:0)

试试这个:

public static float roundFloat(float number, int scale)
{
    int pow = 10;

    for (int i = 1; i < scale; ++i)
        pow *= 10;

    float tmp = number * pow;

    return ( (float) ( (int) ((tmp - (int) tmp) >= 0.5f ? tmp + 1 : tmp) ) ) / pow;
}

坚固而快速。