所以,假设由于某种原因,尽管小数点不准确,但程序中创建的浮点数是绝对必需的,是否可以使用任何方法将它们舍入到2位小数而不将它们转换为双精度数?
答案 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;
}
坚固而快速。