Tengo double
variable d = 1.15
.Java: ¿cómo obtengo la parte después del punto decimal?
Quiero el número después del punto decimal, es decir, "15".
¿Cuál es la mejor manera de lograr esto en Java?
He tratado de esta manera:
Double d = 1.15;
String str = d.toString();
int len = str.substring(str.indexOf(".")).length() - 1;
int i= (int) (d * (long)Math.pow(10,len) % (long)Math.pow(10,len));
pero yo no obtener la respuesta correcta, porque cuando convierto d.toString()
la respuesta es 14.999999999999986
.
Por favor ayuda. Gracias.
http://stackoverflow.com/questions/5017072/how-to-get-the-decimal-part-of-a-float – John
Esta pregunta ha sido informativa para mí - He aprendido cuántas personas no hacen En realidad, ejecutas el código que publican, o realmente lees la pregunta. La pregunta es cómo obtener '15' de' 1.15'. Solo Arjun lo ha descifrado hasta ahora, porque vio este problema como lo que realmente es: una cuestión de análisis de cadenas. El hecho de que el afiche haya intentado usar matemáticas no significa que la respuesta deba seguir el mismo camino. – Paul
@Paul - Diría que el último ejemplo (negativo) del PO desmiente esa teoría. Si esto fuera simplemente un problema de análisis de cadenas, entonces el OP estaría contento con "999999999986" como la respuesta ... –