如何将触摸坐标从float转换为int?

时间:2012-03-29 18:32:30

标签: java android touch-event

我想知道如何将浮点形式的触摸坐标转换为整数。我是java编程和android的新手。我想在触摸区域周围定义一个矩形,然后使用类似的东西:

    Rect touchArea = new Rect();   //I have only float coordinates to define this rect
    Rect predefinedRect = new Rect(); //This rect is defined with integers
    if(touchArea.intersect(predefinedRect)){
        //do something
    }

也没有像Rect(RecF)这样的方法,至少我没有找到一个。那么我该怎么做才能使用.intersect()方法?

3 个答案:

答案 0 :(得分:0)

如果你试图得到浮点数的整数部分,你可以像:

一样
float a = 1.2;
int b = (int) a;

这将使b具有值1.

答案 1 :(得分:0)

有一个RectF构造函数,它接受一个Rect。所以你可以使用它然后在RectF类中使用intersect。

如果你想将float转换为int,你可以做到

int i = (int)1.5;
// i = 1

但要注意浮子如何切割而不是圆角。

答案 2 :(得分:0)

如果你需要它来圆,你可能应该讨论触摸坐标,你应该使用MATH.ROUND()