有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

double到int的java转换

我的一个项目需要玩家使用getX和getY在一个坐标上移动,然而,我不知道如何将getX和getY从双精度转换为整数,以便在绘图面板中播放它们


共 (2) 个答案

  1. # 1 楼答案

    你想把double转换成int,但你需要注意转换的方式,因为如果你想让你的移动准确,你需要把x.5以上的值向上舍入,把x.5以下的值向下舍入

    施法总是向下取整,所以正确取整的一个好方法是在你施法到整数之前,在你所有的双打上加0.5

    这里有几个例子

    double = 1.1
    int (double) = 1
    
    double = 1.7
    int (double) = 1 \\ Note that we will likely want this to be 2
    

    使用我们的方法,让我们看看这两个双打将如何铸造

    double = 1.1
    double + .5 = 1.6
    int (double) = 1
    
    double 1.7 = 1.7
    double + .5 = 2.2
    int (double) = 2
    

    请注意,现在我们的双打高于x.5将被适当地四舍五入

  2. # 2 楼答案

    仅将其转换为int将截断双精度。因此,在决定如何获取int之前,您需要指定真正想要的结果。例如,如果double值为2.999,您希望int为2还是3

    如果你想要最接近的整数(上面的3),那么使用数学。循环(d),返回一个长循环