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

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

o trecho é o seguinte:

[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println(“Sao multiplos”);
else
System.out.println(“Nao sao multiplos”);

    }    [/code]

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…

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

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");  
      
}  
1 curtida

[quote=alexandrer0x]Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…

o trecho é o seguinte:

[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println(“Sao multiplos”);
else
System.out.println(“Nao sao multiplos”);

    }    [/code]

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…[/quote]

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

1 curtida

[quote=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
[/quote]

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:

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");
        }

[quote=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

[code]

if(a%b == 0){
System.out.println(“Multiplo”);

    }else{
        System.out.println("Não Multiplo");
    }

[/code][/quote]

Foi o que fiz, com a dica do Artur… valeu ae mano :smiley:

[quote=alexandrer0x][quote=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
[/quote]

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[/quote]

Fico feliz por ter ajudado.

Att.

Artur Martini

[quote=alexandrer0x]Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…

o trecho é o seguinte:

[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println(“Sao multiplos”);
else
System.out.println(“Nao sao multiplos”);

    }    [/code]

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…[/quote]

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

[quote=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[/quote]
Você chegou a ver que o problema já foi resolvido?

[quote=Artur Martini][quote=alexandrer0x]Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…

o trecho é o seguinte:

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

    }    [/code]

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…[/quote]

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
[/quote]

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.