bgmc Posted December 11, 2009 at 11:58 PM Report Share #299970 Posted December 11, 2009 at 11:58 PM 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. Link to comment Share on other sites More sharing options...
vbtipo Posted December 12, 2009 at 10:17 AM Report Share #299986 Posted December 12, 2009 at 10:17 AM 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. Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões. Link to comment Share on other sites More sharing options...
softklin Posted December 12, 2009 at 11:09 AM Report Share #299996 Posted December 12, 2009 at 11:09 AM 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. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
AMateus Posted December 12, 2009 at 11:08 PM Report Share #300094 Posted December 12, 2009 at 11:08 PM Boas, Aqui vai uma função: Private Function IsValueInteger(ByVal num As Double) As Boolean Return num Mod 1 = 0 End Function Abraços R. Tape Loading Error Link to comment Share on other sites More sharing options...
FreiNando Posted December 12, 2009 at 11:50 PM Report Share #300110 Posted December 12, 2009 at 11:50 PM 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 O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now