¿Existe una forma simple en Java de formatear un decimal, flotante, doble, etc. para imprimir SOLAMENTE la porción decimal del número? No necesito la parte entera, incluso/especialmente si es cero. Actualmente estoy usando el método String.indexOf (".") Combinado con el método String.substring() para seleccionar la parte del número en el lado derecho del decimal. ¿Hay una manera más limpia de hacer esto? No se pudo encontrar nada en la clase DecimalFormat o en el método printf. Ambos siempre devuelven un cero antes del lugar decimal.Java: formatee el número para imprimir la parte decimal solamente
Respuesta
Puede eliminar la parte entera del valor al convertir el doble en un largo. A continuación, puede restar esto desde el valor original a quedar sólo con el valor fraccionario:
double val = 3.5;
long intPartVal= (long) val;
double fracPartVal = val - intPartVal;
System.out.println(fracPartVal);
Y si usted quiere deshacerse del cero se puede hacer esto:
System.out.println(("" + fracPartVal).substring(1));
Creo que todavía se imprimirá el cero inicial. Lo necesito para imprimir: .5, no 0.5. – Fred
+1 esto es nuevo para mí. aquí hay otro [ejemplo] (http://www.java2s.com/Code/Java/Language-Basics/Obtainingtheintegerandfractionalparts.htm). – mre
añadido en el camino para eliminar el cero inicial, pero creo que era más o menos lo que ya estaba haciendo. Sin embargo, restar eliminar la parte entera del número debería ser una solución más atractiva, creo. – jberg
Dividir por 1 y obtenga el resto para obtener la porción decimal (usando "%"). Utilice DecimalFormat a consecuencia de formato (usando "#" símbolo para suprimir 0s principales):
double d1 = 67.22;
double d2 = d1%1;
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(d2));
Esto imprime 0,22
Sí, eso lo hizo. – Fred
Esto imprimirá 0,3
double x = 23.8;
int y =(int)x;
float z= (float) (x % y);
System.out.println(z);
Esto funcionará, pero es innecesariamente complicado. Basta con tomar el módulo 1 restante, o restar la parte entera entera. – poolie
- 1. obtener la parte de la fracción de un número decimal
- 2. Obtener la parte decimal de un número flotante
- 3. Java: ¿cómo obtengo la parte después del punto decimal?
- 4. Expresión regular para el número decimal
- 5. Extraer número decimal en BigDecimal
- 6. Android/Java: Redondeando un número para no obtener decimal
- 7. buscando la parte del número entero de un número
- 8. Número entero o número decimal
- 9. Imprimir variables en formato hexadecimal o decimal
- 10. Java - Decimal Format.parse para devolver el valor doble con el número especificado de posiciones decimales
- 11. tipo de datos para representar un gran decimal en java
- 12. Guice inyectando solamente parte del constructor
- 13. Extrae la parte decimal de un número de coma flotante en C
- 14. Mostrar solamente el punto decimal si el componente de punto flotante no es .00 sprintf/printf
- 15. ¿Cómo hacer un Integer.parseInt() para un número decimal?
- 16. Formatee un número con comas, pero mantenga los decimales
- 17. aplicar sombra paralela a la parte superior del borde solamente?
- 18. Clase decimal Java liviana
- 19. formatee un número que mantiene su signo en php
- 20. Android - Disponibles con esquinas redondeadas en la parte superior solamente
- 21. ¿Cómo limitar un número decimal?
- 22. número Truncar decimal no redondear
- 23. expresión regular de PHP - número de filtro solamente
- 24. Java, extraer solo la parte fraccional de un BigDecimal?
- 25. Imprimir float PHP con 3 dígitos después del punto decimal?
- 26. Obtener número de teléfono de Contactos solamente
- 27. ¿Cómo mostrar siempre la parte decimal al usar DecimalFormat?
- 28. java formato decimal cadena
- 29. ¿Cómo hacer que el formulario llegue a la parte superior de la aplicación solamente?
- 30. Imprimir un número en brainfuck?
¿Quieres mostrar el punto decimal ? –
Sí, quiero mostrar el punto decimal – Fred