Android Float To Int
¿Por qué es tan difícil de averiguar?
public boolean onTouch(View v, MotionEvent event)
Necesito convertir float event.getY()
en un int.
- Float o doble?
- Qemu, div por cero, mxcsr registrar
- Almacenamiento de números de coma flotante en la base de datos android
- Necesito rodear un flotador a dos decimales en Java
- Pantalla de precisión de flotador (Android)
es posible?
event.getY().intValue()
no funcionará en absoluto.
¿Algunas ideas?
- ¿Utilizando FloatMath o Math y un yeso?
- ¿Por qué el uso de float en lugar de doble no mejora el rendimiento de Android?
- Errores de cálculo de valor de doble precisión en los procesadores MediaTek
- ¿Convertir el flotador a CharSequence en android?
- Formato Flotación a n decimales
- Desarrollo de Android - SQLite storage float
- Agregar valor de punto flotante a los recursos / valores de Android
- Acelerando las operaciones de punto flotante (Android ARMv6)
Uhhh, sí, qué tal:
int y = (int)event.getY();
Verá getY()
sólo devuelve un flotador para dispositivos que tienen una precisión de sub-píxeles.
Utilizando
Math.round(yourFloat);
es mejor que
(int)yourFloat;
Se trata de precisión. Si utiliza (int)
sólo obtendrá números después de eliminar el punto. Si usa Math
, obtendrá un número redondeado. No parece una gran cosa. Por ejemplo, si intenta redondear algo como 3.1, ambos métodos producirían el mismo resultado – 3.
Pero tome 3.9 o 3.8. Es prácticamente 4, pero
(int)3.9 = 3
mientras
Math.round(3.9) = 4
Basta con lanzarla:
int val = (int)event.getY();