Ir para conteúdo
Fórum Script Brasil
  • 0

Caractere # em comandos If


Mini Me

Pergunta

Bom dia a todos,

Estou analisando um código fonte que recebi da china na empresa onde trabalho. O código é em VB, até ai tudo bem, mas me deparei com um pequeno detalhe que aparentemente não está atrapalhando meu código de executar, mas gerou uma tremenda curiosidade para saber do que se trata.

O problema está em um comando if, onde o cara quis comparar uma variável do tipo DOUBLE com o valor 1, na verdade como existe a possibilidade deste valor Double ser negativo ele usa o comando Abs() para retirar o sinal desta variável.

A grande dúvida é porque usar este "#" após o valor 1???????

Se eu tirar este parâmetro # o código aparentemente funciona, mas eu não tenho certeza se ele pode dar problema com algum valor específico da variável dblVal.

Segue a linha do código em questão:

If (Abs(dblVal) >= 1#) Then

Nunca tinha visto isto na minha vida e estou muito curioso do porque usar este parâmetro # nesta comparação.

muito obrigado,

Rafael

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

faca o seguinte teste:

Dim a As Variant
    
    a = 1
    MsgBox TypeName(a)
    
    a = 1#
    MsgBox TypeName(a)[/code]

o msgbox vai mostrar o nome do tipo da variavel.

como você pode verificar no teste, o # converte o numero pra double. na verdade isso não vai fazer mta diferenca já q o visual basic faz a conversao direta. e eu tb não sei os detalhes de como o visual basic faz a tipagem internamente, mas se você não poe o # o visual basic entende como integer (logico, a não ser q seja um numero quebrado ou q seja maior q a capacidade do integer), ou seja, se você for comparar com o double, imagino q se você não use o # ele gaste um poco mais de tempo fazendo a conversao de integer pra double.

ou não sei, talvez internamente ele ate consiga comparar sem fazer a conversao e ai o # acaba não tendo tanta importancia em valores pequenos assim... mas isso seria bom de se usar em projetos q fazem gde processamento de dados e q a velocidade seja importante.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...