Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   JAVA (https://www.clubdelphi.com/foros/forumdisplay.php?f=16)
-   -   ¿Cómo obtener la parte decimal en java? (https://www.clubdelphi.com/foros/showthread.php?t=82844)

jandroruiz 18-04-2013 17:37:39

¿Cómo obtener la parte decimal en java?
 
Tengo este código:

Código:

public class Pruebas {
 
    public static void main(String[] args) {
      for(float i = 11; i<100;i++){   
            float primero = i/10;
            double segundo = Math.floor(primero);
            double tercero = primero-segundo;
                       
            System.out.println(tercero);         
           
        }
    } 
}

Lo que quiero es obtener la parte decimal de cada número del bucle i. Si es 11, quedarme con 1, si es 12, con 2 y así sucesivamente. De la manera que está ahora salen muchos decimales, yo sólo quiero un único decimal.

¿Me podéis ayudar?

Muchas gracias.

Turin 18-04-2013 18:01:32

con esto se solucionaria

Código:

public class Pruebas {
 
    public static void main(String[] args) {
      for(float i = 11; i<100;i++){   
            float primero = i/10;
            double segundo = Math.floor(primero);
            double tercero = primero-segundo;
           
            double cuarto = Math.floor(tercero * 10);
                       
            System.out.println(cuarto );         
           
        }
    } 
}

te pudiera aparecer algo asi

Código:

1.0
2.0
2.0
3.0
5.0
6.0
7.0
7.0

si lo quieres mas exacto agrega esto:

Código:

double tercero = (primero-segundo) + 0.001;
y se veria asi el resultado.
Código:

1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0


jandroruiz 18-04-2013 18:04:52

Muchas gracias, Turin. Era justo lo que estaba buscando.

Un saludo

cloayza 18-04-2013 19:39:39

Y no es lo mismo esto...

Código:

public class Pruebas {
 
    public static void main(String[] args) {
      for(float i = 11; i<100;i++){   
            double tercero = i-10;
                       
            System.out.println(tercero);         
           
        }
    } 
}

???
Saludos cordiales...

jandroruiz 18-04-2013 19:44:35

No, cloayza. Si, por ejemplo, a 22 le resto 10 me quedan 12. El objetivo es la última cifra.

cloayza 18-04-2013 23:22:12

Comprendo...al parecer tengo deficit de comprensión lectora...:D


La franja horaria es GMT +2. Ahora son las 20:51:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi