Como verificar se o conteúdo de uma variável é inteiro ou decimal

10 respostas
alexandrer0x

Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando...

o trecho é o seguinte:

if (a > b) {
            divisao = a / b;
            if (divisao == XXXX)
            System.out.println("Sao multiplos");
            else 
            System.out.println("Nao sao multiplos");
            
        }

ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável "divisao" é um número inteiro ou decimal...

10 Respostas

Daniel_T_S

Posta isso no Guj respostas. Lá é mais rápido pra galera te responder.

Daniel_T_S

Vê se é isso que você precisa:

public static boolean verificarValor(double valor) {
        if (valor > Math.floor(valor)) {
            return true;
        } else {
            return false;
        }
}

então no seu código você faz assim:

if (a > b) {  
    divisao = a / b;  
    if (verificarValor(divisao))  
    System.out.println("Sao multiplos");  
    else   
    System.out.println("Nao sao multiplos");  
      
}
A
alexandrer0x:
Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando...

o trecho é o seguinte:

if (a > b) {
            divisao = a / b;
            if (divisao == XXXX)
            System.out.println("Sao multiplos");
            else 
            System.out.println("Nao sao multiplos");
            
        }

ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável "divisao" é um número inteiro ou decimal...

Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.

Por exemplo:
a = 10
b = 3
resto = 0

resto = a%b

10/3 = 3,333333

resto = 0,333333

então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.

Artur Martini

alexandrer0x

Artur Martini:
Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.

Por exemplo:
a = 10
b = 3
resto = 0

resto = a%b

10/3 = 3,333333

resto = 0,333333

então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.

Artur Martini

Obrigado Artur, simplificou meu algoritmo e resolveu o problema… :smiley:

Obrigado a você também Daniel, a sua dica resolveria também, mas achei mais simples usar o %. :smiley:

Janerson

Olá amigo pelo que entendi do seu código vc quer saber se um número é múltiplo de outro

nesse casso faça assim

if(a%b == 0){
            System.out.println("Multiplo");
            
        }else{
            System.out.println("Não Multiplo");
        }
alexandrer0x
Janerson:
Olá amigo pelo que entendi do seu código vc quer saber se um número é múltiplo de outro

nesse casso faça assim

if(a%b == 0){
            System.out.println("Multiplo");
            
        }else{
            System.out.println("Não Multiplo");
        }

Foi o que fiz, com a dica do Artur.. valeu ae mano :D

A

alexandrer0x:
Artur Martini:
Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.

Por exemplo:
a = 10
b = 3
resto = 0

resto = a%b

10/3 = 3,333333

resto = 0,333333

então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.

Artur Martini

Obrigado Artur, simplificou meu algoritmo e resolveu o problema… :smiley:

Obrigado a você também Daniel, a sua dica resolveria também, mas achei mais simples usar o %. :D

Fico feliz por ter ajudado.

Att.

Artur Martini

S
alexandrer0x:
Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando...

o trecho é o seguinte:

if (a > b) {
            divisao = a / b;
            if (divisao == XXXX)
            System.out.println("Sao multiplos");
            else 
            System.out.println("Nao sao multiplos");
            
        }

ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável "divisao" é um número inteiro ou decimal...

pesquisou no google pelo menos?
ou fez o código de cabeça?

não entendi o que vc quer pois na pergunta quer saber sobre inteiro ou decimal

e no código sobre múltiplos...

olhe as regras de matemática primeiro que vai ter uma luz do que seu código precisa ou não fazer

fui

Rodrigo_Sasaki

SnakeMaster:
pesquisou no google pelo menos?
ou fez o código de cabeça?

não entendi o que vc quer pois na pergunta quer saber sobre inteiro ou decimal

e no código sobre múltiplos…

olhe as regras de matemática primeiro que vai ter uma luz do que seu código precisa ou não fazer

fui


Você chegou a ver que o problema já foi resolvido?

explosive_spirit
Artur Martini:
alexandrer0x:
Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando...

o trecho é o seguinte:

if (a > b) {
            divisao = a / b;
            if (divisao == XXXX)
            System.out.println("Sao multiplos");
            else 
            System.out.println("Nao sao multiplos");
            
        }

ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável "divisao" é um número inteiro ou decimal...

Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.

Por exemplo:
a = 10
b = 3
resto = 0

resto = a%b

10/3 = 3,333333

resto = 0,333333

então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.

Artur Martini

A dica é interessante Artur, mas pelo que sei a divisão de inteiros em Java, resulta em um inteiro.

Para se obter um valor fracionário de uma divisão, um dos operadores deve ser double ou float, ex:

int a = 10;
int b = 3;
double r = a / (double) b;

Tendo essa teoria, não podemos garantir que a divisão de 10 por 3 será 3,333333, mas teremos sim um número truncado e para evitá-lo um cast é necessário.

Criado 2 de setembro de 2013
Ultima resposta 5 de set. de 2013
Respostas 10
Participantes 7