locked
Manipulação de números da ordem de bilhões RRS feed

  • Pergunta

  •  

    Boa tarde, pessoal!

     

    Estou com um problema muito grave no que se refere a manipulação de números muito grandes. Meu programa precisou fazer uma conta com o número 3.861.122.124 e deu erro: Estouro. Eu estou usando Long Integer.

    Existe alguma classe especial ou algum tipo de dado especial que suporte operações dessa magnitude?

     

    Muito obrigado!

     

    Felipe

    quarta-feira, 23 de abril de 2008 19:45

Todas as Respostas

  • Ola,

    Fiz o este abaixo e não deu erro.

    Code Snippet

    Function teste()
        Dim i As Double 'currency
        i = 3861122124.01
        i = i * 2
        MsgBox i
    End Function

     

    Luciano

    quarta-feira, 23 de abril de 2008 20:15
  • Olá,

     

    Use do tipo Double

    Dim n as Double

     

    Até..

    quarta-feira, 23 de abril de 2008 20:56
  • Eu usaria o Currency.

     

    quarta-feira, 23 de abril de 2008 23:46
    Moderador
  • Pessoal,

     

    me perdoem, mas não especifiquei corretamente a minha dificuldade. Na verdade o problema se dá na hora de converter uma string nesses tipos de dados: double, long integer.

     

    dim numero as string

    dim numeroDouble as double

    dim numeroInt as LongInteger

     

    numero = 123456789123

    numeroDouble = cdbl (numero)

    numeroInt = CLng (numero)

     

     

     

    De fato, não há problemas com cálculos aritméticos. Alguém conhece uma maneira eficiente de converter? Sei que dá pra fazer uma Function para essa necessidade, mas se já houver algo pronto...

     

    Muito obrigado a todos!

     

    Felipe

    quinta-feira, 24 de abril de 2008 18:14
  • Se o número ultrapassar 2.147.483.647 você não conseguirá usar Long, terá que usar Currency (função CCur), ou mesmo Single ou Double.

     

    quinta-feira, 24 de abril de 2008 21:47
    Moderador