如何将双倍四舍五入到最接近的整数,然后转换为浮点数?
我正在使用java.util.Random来生成一个随机高斯。我需要将此高斯转换为浮点值。然而,高斯是双精度的,所以我需要一些方法来舍入,然后将其转换为浮点数。我需要四舍五入到最接近的整数,向上舍入。这是我的问题:如何?
我正在使用java.util.Random来生成一个随机高斯。我需要将此高斯转换为浮点值。然而,高斯是双精度的,所以我需要一些方法来舍入,然后将其转换为浮点数。我需要四舍五入到最接近的整数,向上舍入。这是我的问题:如何?
float b = (float)Math.ceil(a);
或float b = (float)Math.round(a);
这取决于您的意思是“舍入到最接近的整数”(舍入)还是“向上舍入”(ceil)。
请注意,在将双精度转换为浮点数时会丢失精度,但这在这里不应该是一个问题。
下面是一个简单示例:
public class One {
/**
* @param args
*/
public static void main(String[] args) {
double a = 4.56777;
System.out.println( new Float( Math.round(a)) );
}
}
结果和输出将为:5.0
最接近双精度 a = 4.56777
起始值的上限 Float 在这种情况下,建议使用 round,因为它采用双精度
值并提供整个长
整头值
问候