olá pessoal
tenho uma divisão de um integer por um integer retornando numa variavel double
preciso jogar o valor antes da virgula para uma variavel integer e o valor depois da virgula para outra variavel integer
qual metodo utilizar
obrigado
A primeira observação é que… divisao de integer por integer retorna integer…
ou seja o resultado de 10 / 3 = 3… e nao 3.333333
Multiplique algum dos fatores por 1.0 para elevar o tipo de dados para double…
1.0 * a / b assim seu resultado será double…
Não existe método pronto para pegar a parte inteira e a decimal…
Mas vc pode fazer dois calculos… um que retona a parte inteiro (fazendo a divisao inteira citada)… e depois, para pegar a parte decimal… vc subtrai do resultado double o resultado inteiro…
Olá!
Tenta assim:
double d1 = 5d / 3d;
int i1 = (int)d1;
int i2 = (int) (d1 - (int)d1);
abraço
Espero que possa esclarecer a sua duvida.
import javax.swing.JOptionPane;
public class main {
static double parteinteira, partefracionaria;
static double numerador, denominador;
public static void main(String[] args) {
System.out.println("INTEIRO");
Usando_Inteiro();
System.out.println("DOUBLE");
Usando_Double();
}
public static void Usando_Inteiro() {
numerador = (int)Math.abs(Integer.parseInt(JOptionPane.showInputDialog("Digite o numerador da divisão")));
do{
denominador = (int)Math.abs(Integer.parseInt(JOptionPane.showInputDialog("Digite o denominador da divisão")));
}while(denominador<=0);
parteinteira = (int) (numerador/denominador);
System.out.println("Parte inteira da divisão "+numerador+"/"+denominador+" = "+parteinteira);
partefracionaria = (int) (numerador%denominador);
System.out.println("Parte fracionaria da divisão "+numerador+"%"+denominador+" = "+partefracionaria);
}
public static void Usando_Double() {
parteinteira = numerador/denominador;
System.out.println("Parte inteira da divisão "+numerador+"/"+denominador+" = "+parteinteira);
partefracionaria = numerador%denominador;
System.out.println("Parte fracionaria da divisão "+numerador+"%"+denominador+" = "+partefracionaria);
}
}