Estoy tratando de hacer algunas cosas básicas de cálculo en mi aplicación Android para comparar un valor de Date.getTime()
con algunas cosas calculadas.Android/Java: long se vuelve negativo sin exceder max_value
El cálculo que hago durante una consulta de base de datos es:
long minus = pauseDays * 24 * 60 * 60 * 1000;
Así que básicamente calcular el valor de milisegundos pauseDays
. Si pauseDays
se agranda (estoy hablando de 90 días más o menos), sucede algo extraño. El resultado del cálculo es un número negativo.
Lo raro es que el resultado debería ser 7776000000
, por lo que debería ser mucho más pequeño que Long.MAX_VALUE
. ¿Alguien podría explicarme por qué obtengo un número negativo aquí?
Dale un golpe :) +1 – Brian
Gracias, eso resolvió mis problemas :) Totalmente pasé por alto el hecho de que pauseDays es un valor INT. – user1515310