MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Descobrir se um número tem casas decimais

    avatar
    enduros
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 09/02/2012

     Descobrir se um número tem casas decimais Empty Descobrir se um número tem casas decimais

    Mensagem  enduros Qua 29 Fev - 13:25

    Olá pessoal,

    Fritei minha cabeça aqui e tentei criar uma função que avalia se uma sequência de números tem ou não números decimais, ou seja se é um número do conjunto dos Inteiros (não um integer do Access).

    Fiz 3 funções, mas todas falharam dependendo o tamanho do número.



    tentei pegar só a parte inteira do numero e comparar com ele mesmo tipo 100.21 - int 100.21 = 100, ou seja 100.21 é diferente de 100.

    tentei achar a posição da vírgula, se não existisse é inteiro

    tentei outras coisas que já nem lembro

    Toda as tentativas falharam se utilizo número maiores tipo:

    1000000000000000000000000
    1000000000000000000000000.000000000000000001

    Alguém tem alguma ideia?

    Obrigado
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

     Descobrir se um número tem casas decimais Empty Re: Descobrir se um número tem casas decimais

    Mensagem  criquio Qua 29 Fev - 13:44

    Olá, seja bem vindo ao forum. Faça um teste, colocando na origem de um campo de verificação:

    =SeImed([CampoDoNúmero]-Int([CampoDoNúmero])=0;"Inteiro";"Decimal")


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    enduros
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 09/02/2012

     Descobrir se um número tem casas decimais Empty Re: Descobrir se um número tem casas decimais

    Mensagem  enduros Qua 29 Fev - 13:55

    Valeu amigo,

    Primeiro de tudo preciso da função realmente pois vou usar aninhada com outras funções num módulo vba.

    Segundo essa comparação vai falhar dependendo do valor.

    Aperte ctlr+G ai e digite o seguinte, depois aperte enter

    debug.Print iif((10000000000000000.1) -(Int(10000000000000000.1))=0,"Inteiro","Decimal")

    debug.Print iif((1.00000000000000001) -(Int(1.00000000000000001))=0,"Inteiro","Decimal")

    Vai dizer que é Inteiro nos dois casos.

    Quero uma função que não importe o valor seja muito grande, ou o decimal seja numa casa la atrás.

    Aguardo.

    Obrigado
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

     Descobrir se um número tem casas decimais Empty Re: Descobrir se um número tem casas decimais

    Mensagem  Avelino Sampaio Qui 1 Mar - 5:16

    Ola

    As funções do access trabalham com até 16 digitos. Deste valor pra cima ou aparece como notação cientifica ou são ignorados

    veja que:

    3.000000000000001 - 3 = 8,88178419700125E-16
    3.0000000000000001 - 3 = 0 'porque o resultado ultrapassou aos 16 digitos

    Isso esta me parecendo mais um exercício pra casa de algum curso que esta fazendo (risos).

    nenhum cálculo do Access irá fornecer como resultado valores maiores que 16 digitos. Exemplo de uma dizima:

    1/3 = 0,333333333333333

    Portanto não há com o que se preocupar com os números esdrúxulos apresentados.

    Se vc está vivenciando um caso real, apresente um BD exemplo para ser analisado.

    Sucesso!


    Última edição por Avelino Sampaio em Qui 1 Mar - 6:42, editado 1 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    enduros
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 09/02/2012

     Descobrir se um número tem casas decimais Empty Re: Descobrir se um número tem casas decimais

    Mensagem  enduros Qui 1 Mar - 6:26

    Grande Avelino,

    Valew pela resposta.

    Porém errasse feio, não faço nenhum curso não. Estou querendo é aprender coisas novas, principalmente no que diz respeito as limitações. Assim como você vive criando soluções para ultrapassar as limitações do Access, vide Open.

    Pense nisso!

    Abraço!

    Conteúdo patrocinado


     Descobrir se um número tem casas decimais Empty Re: Descobrir se um número tem casas decimais

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 7 Nov - 7:36