2012-03-29 7 views
0

浮動小数点形式で取得したタッチ座標を整数に変換する方法を知りたいです。私はかなりJavaプログラミングとアンドロイドに新しいです。私は私のタッチ領域の周りに長方形を定義し、このようなものを使用したい:タッチ座標をfloatからintに変換する方法は?

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)のような方法で、少なくとも私は1つを発見していないがありません。それで、その.intersect()メソッドを使うために私は何をすることができますか?

答えて

0

を持つようにBを行います

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

。だからあなたはそれを使用し、RectFクラスで交差を使用することができます。

あなたをintにfloatを変換したい場合は、単に

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

を行うが、フロートがちょうどカットして丸められない取得する方法に注意してください可能性があります。あなたはおそらくあなたがタッチ座標の話をしていることから、あなたは恐らくMath.roundを使用する必要がありますする必要があり

+0

[OK]を、その後、どのようにのは、システムが見え座標アンドロイドのでしょうか?私が理解しているように、画面の中心は(0,0)であり、それからすべての面に1になります。私が間違っている? –

+0

申し訳ありませんが、あなたの最後の質問の回答はわかりません。そして、これは本当にフォーラムではないので、コメントに無関係な質問をするべきではありません。あなたが本当に答えを見つけることができない場合(しかし、あなたは)、別の質問を投稿してください。 – softarn

+0

この答えが正しい場合は、それを正しい答えとしてマークしてください。 – softarn

0

あなたがフロートの整数部分を取得しようとしている場合は、キャストすることができますように:これはのRectを取るRectFコンストラクタがあり、値1

0

あなたは四捨五入することが必要な場合は、()

関連する問題