• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bgmc

inteiro ou decimal

5 mensagens neste tópico

Boas a todos.

Não sei se é o sitio indicado para meter a minha questão, se for não for peço desculpa.

Estou a iniciar os primeiros passos em visual basic 2008, e estou a gostar.

Estou as voltas com um exercicio:

Dado um numero e indicar se ele é inteiro ou decimal.

Muito obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens que verificares se existe algum ponto ou uma virgula, ou seja,

1 - Transformas esse valor inteiro numa string;

2 - Verificas se existe algum algarismo que não seja numérico, isto é, alguma virgula ou ponto;

3 - Invertes novamente a string em numérico.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Numa perspectiva mais matemática, também podes comparar os valores obtidos pelos arredondamentos por excesso e por defeito. Isto é, se tivermos o número 7.3, se o arredondarmos por excesso, obtemos o valor 8, e se arredondarmos por defeito obtemos o valor 7, logo, sabemos que se trata de um número decimal, pois são diferentes.

Em VB, podes recorrer às funções Math.Ceiling e Math.Floor para fazer os arredondamentos por excesso e defeito, respectivamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Aqui vai uma função:

Private Function IsValueInteger(ByVal num As Double) As Boolean
    Return num Mod 1 = 0
End Function

Abraços

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou ainda, seguindo o método do AMateus:

Private Function IsValueInteger(ByVal num As Double) As Boolean
    Return  Int(num) = num
End Function

E caso queiras saber a parte inteira e a parte decimal:

Private Function ValueInteger(ByVal num As Double) As Integer
    Return Int(num)
End Function

Private Function ValueDecimal(ByVal num As Double) As Double
    Return num Mod 1 
End Function

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora