COMO FORMATATAR NUMERO MAIOR DO QUE 20 POSICOES?
Como formatatar numero maior do que 20 posições tanto no VB/VBA como no VB.Net ???
Tudo feito abaixo não me retornou o campo como ele está no banco de dados, no caso, eu passei hard-coded 123456789012345678901 para mostrar aqui:
x = cstr(Cdbl(123456789012345678901))
?x
1,23456789012346E+20
?format(x,[Ô]00000000000000000000[Ô])
123456789012346000000
?format(x,[Ô]####################[Ô])
123456789012346000000
?format(x,[Ô]#####0000000000######[Ô])
123456789012346000000
Grato desde já!
Tudo feito abaixo não me retornou o campo como ele está no banco de dados, no caso, eu passei hard-coded 123456789012345678901 para mostrar aqui:
x = cstr(Cdbl(123456789012345678901))
?x
1,23456789012346E+20
?format(x,[Ô]00000000000000000000[Ô])
123456789012346000000
?format(x,[Ô]####################[Ô])
123456789012346000000
?format(x,[Ô]#####0000000000######[Ô])
123456789012346000000
Grato desde já!
Como exatamente você gostaria que o número 123456789012345678901 ficasse após formatado?
DoBancoVeio = [Ô]123456789012345678901[Ô] [ô]mesmo que for outro tipo de dados, traga como string
x = CDec(DoBancoVeio)
MsgBox [Ô]Original: [Ô] & x
MsgBox [Ô]Pra mostrar que é número: [Ô] & x + 46 & [Ô]([Ô] & x & [Ô])[Ô]
x = CDec(DoBancoVeio)
MsgBox [Ô]Original: [Ô] & x
MsgBox [Ô]Pra mostrar que é número: [Ô] & x + 46 & [Ô]([Ô] & x & [Ô])[Ô]
no banco de dados este campo é do tipo NUMBER.
o colega colocou como string, pois tem que mostrar exatamente assim:
123456789012345678901
ou seja, do jeito que está no banco de dados.
mas tem boi na linha aÃ, não é possÃvel, a microsoft através do VB, VBA e VB.NET não tem outra forma de mostrar um número com muitas posições sem colocar potência de 10 (numeroEpotência) ou como texto !!!!!
o colega colocou como string, pois tem que mostrar exatamente assim:
123456789012345678901
ou seja, do jeito que está no banco de dados.
mas tem boi na linha aÃ, não é possÃvel, a microsoft através do VB, VBA e VB.NET não tem outra forma de mostrar um número com muitas posições sem colocar potência de 10 (numeroEpotência) ou como texto !!!!!
Boa tarde.
Tente o seguinte:
Sempre que precisar realizar alguma operação utilizando o CAMPO, converta-o com a função CDec(). Exemplo:
Até mais.
JSFF77
Tente o seguinte:
x = CDec(CAMPO)
MsgBox CStr(x)
que funcionará corretamente.Sempre que precisar realizar alguma operação utilizando o CAMPO, converta-o com a função CDec(). Exemplo:
a = b / CDec(CAMPO)
Até mais.
JSFF77
ficarrado do mesmo jeito ...
x = cstr(Cdec(123456789012345678901))
?x
123456789012346000000
x = Cdec(123456789012345678901)
?x
123456789012346000000
tks mesmo assim.
x = cstr(Cdec(123456789012345678901))
?x
123456789012346000000
x = Cdec(123456789012345678901)
?x
123456789012346000000
tks mesmo assim.
vilmar o campo do banco deve ser texto e o valor também
Dim Valor As String
Valor = [Ô]123456789012345678901[Ô]
só assim funcionara
Dim Valor As String
Valor = [Ô]123456789012345678901[Ô]
só assim funcionara
então, digamos, o vb, vba e vb.net não suportam isto, certo ?
enfim, bug de implementação das linguagens!!!!!
no banco é número.
e como falei, o colega meu deixou texto mesmo a propriedade no vb.net ao receber o valor do oracle number.
eu achei uma solução podre, mas como é limitação da linguagem, podre é a linguagem neste quesito!
vlw!
enfim, bug de implementação das linguagens!!!!!
no banco é número.
e como falei, o colega meu deixou texto mesmo a propriedade no vb.net ao receber o valor do oracle number.
eu achei uma solução podre, mas como é limitação da linguagem, podre é a linguagem neste quesito!
vlw!
Olha Vilmar eu tenho uma teoria pra isto, não acho que seja bug de implementação, porque?
as linguagens desenvolveram campos numéricos para valores aceitáveis, ou seja vc pode ter até 1 milhão, talvez um trilhão, que seria isto.
1.000.000.000.000,00 , onde usará este calculo?
ai vem a pergunta, o que vc fará com este numero, então na realidade as linguagens trabalham com um teto aceitável para numeros, por exemplo ninguém faz calculo com 123456789012345678901, estou certo ou errado? para isto existe o campo texto, pois neste momento vc começa a trabalhar com combinações, onde com 21 caracteres vc terá sei-la trilhoes de combinações.
creio que foi nisto que pensaram entendeu agora
isto é apenas uma teoria minha.
as linguagens desenvolveram campos numéricos para valores aceitáveis, ou seja vc pode ter até 1 milhão, talvez um trilhão, que seria isto.
1.000.000.000.000,00 , onde usará este calculo?
ai vem a pergunta, o que vc fará com este numero, então na realidade as linguagens trabalham com um teto aceitável para numeros, por exemplo ninguém faz calculo com 123456789012345678901, estou certo ou errado? para isto existe o campo texto, pois neste momento vc começa a trabalhar com combinações, onde com 21 caracteres vc terá sei-la trilhoes de combinações.
creio que foi nisto que pensaram entendeu agora
isto é apenas uma teoria minha.
Tópico encerrado , respostas não são mais permitidas