Duvida Idiota.
Moderador: Moderadores
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Duvida Idiota.
Boa tarde.
Pra maioria de vocês, essa dúvida pode parecer idiota, mas infelizmente pra mim não.
Tenho um uma variavel numérica de memória, que foi declarada assim
Numero := 0
agora preciso dar o tal do get e mostra-la da seguinte maneira: 999.999.999,99999999
Na hora de mostrar, beleza, mas na hora de dar o GET ele não considera o último digito.
Já verifique coordenadas de tela, código picture, e qualquer outra coisa que minha cabecinha de pequena-programadora imaginou.
Existe algum limite? O.o
Aguardo resposta.
Ana
Pra maioria de vocês, essa dúvida pode parecer idiota, mas infelizmente pra mim não.
Tenho um uma variavel numérica de memória, que foi declarada assim
Numero := 0
agora preciso dar o tal do get e mostra-la da seguinte maneira: 999.999.999,99999999
Na hora de mostrar, beleza, mas na hora de dar o GET ele não considera o último digito.
Já verifique coordenadas de tela, código picture, e qualquer outra coisa que minha cabecinha de pequena-programadora imaginou.
Existe algum limite? O.o
Aguardo resposta.
Ana
- Antonio
- Usuário Nível 3

- Mensagens: 347
- Registrado em: 14 Ago 2003 17:33
- Localização: Sao Paulo - SP
- Contato:
Re: Duvida Idiota.
Compile o trecho de programa e veja se funciona, compilei com xHarbour e ficou da forma que voce pretende.anacatacombs escreveu:Boa tarde.
Pra maioria de vocês, essa dúvida pode parecer idiota, mas infelizmente pra mim não.
Tenho um uma variavel numérica de memória, que foi declarada assim
Numero := 0
agora preciso dar o tal do get e mostra-la da seguinte maneira: 999.999.999,99999999
Na hora de mostrar, beleza, mas na hora de dar o GET ele não considera o último digito.
Já verifique coordenadas de tela, código picture, e qualquer outra coisa que minha cabecinha de pequena-programadora imaginou.
Existe algum limite? O.o
Aguardo resposta.
Ana
Código: Selecionar todos
func main()
local Numero := 0
cls
while .t.
if lastkey() = 27
quit
endif
@ 10,10 say "Minha Var: " get numero picture "@E 999,999,999.99999999"
read
end
return nil
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
- Antonio
- Usuário Nível 3

- Mensagens: 347
- Registrado em: 14 Ago 2003 17:33
- Localização: Sao Paulo - SP
- Contato:
Note o uso da mascara:anacatacombs escreveu:Olá Antonio.
é dessa forma que estou fazendo e não funciona O.o
o engraçado é que tenho um get com um tamanho um pouco menor da mesma forma e funciona.
E esse não funciona.
E com 7 casas decimais também funciona.
por isso perguntei do limite.
Uso o Clipper 5.2 E e blinker 7.
picture "@E 999,999,999.99999999"
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato:
Esse sistema é de uma lavanderia
as vezes, na quantidade, é utilizado gramas, miligramas, blibliligramas, e eles usam assim: Quantidade, 0,0000025 gramas
Os produtos que eles utilizam são fortíssimos, e a grande parte deles só pode ser utilizado em pequena quantidade.
Agradeço a todos pelas respostas
:*
as vezes, na quantidade, é utilizado gramas, miligramas, blibliligramas, e eles usam assim: Quantidade, 0,0000025 gramas
Os produtos que eles utilizam são fortíssimos, e a grande parte deles só pode ser utilizado em pequena quantidade.
Agradeço a todos pelas respostas
-
Irineu
- Usuário Nível 2

- Mensagens: 61
- Registrado em: 13 Ago 2003 22:01
- Localização: Curitia-PR
- Contato:
Vc tentou linkar com o exospace pra ver se funciona ?
Pois eu fiz o mesmo exemplo seu com 16 casas decimais e funciona direitinho.
Pois eu fiz o mesmo exemplo seu com 16 casas decimais e funciona direitinho.
Irineu - < http://irineufotos.servehttp.com >
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Parceira Ana,
Eu sei q vc já respondeu mas vou reforçar o colega Antonio:
O Clipper utiliza o método de "pontuação" americano logo o PONTO é que faz a separação dos decimais e a VIRGULA dos milhares, milhões etc. Caso vc queira que o get seja no formato europeu que no caso é o mesmo do Brasil, utilize a máscara precedida de @E (Ex: @ lin,col get sua_var pict "@e 999,999,999.99999999") ok ?
Quanto a quantidade de dígitos na casa decimal, veja o que diz o manual (original) do Clipper:
Seção "Tipos de Dados"
Tipo: NUMÉRICO
Definicão: O tipo numérico é usado para identificar ítens que você deseja manipular matematicamante (somar, subtrair, multiplicar etc). O conjunto numérico do Clipper é definido como dígitos de zero a nove, ponto dicimal e sinal de adição e subtração de forma a identificar um número positivo ou negativo.
Com a exceção de campos o Clipper guarda valores numéricos usando o formato padrão IEEE de ponto flutuante de precisão dupla, na faixa de 10^-308 até 10^308. A precisão numérica é garantida até 16 dígitos significativos e um número pode ser formatado até tamanho 32 (i.e., 30 dígitos, um sinal e um ponto dcimal). Isto significa que números maiores que 32 dígitos podem ser exebidos como asteriscos e dígitos que não os 16 significativos serão exibidos como zeros.
Quando um valor é guardado dentro de um campo do arquivo (.dbf), eele é convertido do formato IEEE para um formato que pode ser exibido. Quando um campo numérico é trazido de um aqruivo, ele é convertido para o formato IEEE antes de qualquer operção a ser executada com ele. Desde que o formato exibível de um número é garantido até o tamanho máximo de 32 bytes, este é o maior comprimento recomendado para um campo numérico.
Literais numéricos são formados colocando-se junto a eles um ou mais dos seguintes sinais: um sinal positivo ou negativo, um ou mais dígitos representando a porção inteira do número, um ponto decimal, e um ou mais dígitos representando a parte fracionária.
Uma outra definição, porém mais simples extraída do livro de Antonio G.R. Vidal (Clipper) ele diz o seguinte:
- Campo numérico (tipo N): Quanto aos dados a serem nele armazenados possuírem, na sua composição, somente caracteres numéricos, os sinais + ou - e o ponto decimal (o ponto decimal, e não vírgula, pois o Clipper utiliza o sistema americano). Estes campos destinam-se ao armazenamento de dados com os quais se realizarão cálculos matemáticos. Um campo numérico pode conter até 19 dígitos ou posições, com até 18 casas decimais.
Espero ter coloborado...
Eu sei q vc já respondeu mas vou reforçar o colega Antonio:
O Clipper utiliza o método de "pontuação" americano logo o PONTO é que faz a separação dos decimais e a VIRGULA dos milhares, milhões etc. Caso vc queira que o get seja no formato europeu que no caso é o mesmo do Brasil, utilize a máscara precedida de @E (Ex: @ lin,col get sua_var pict "@e 999,999,999.99999999") ok ?
Quanto a quantidade de dígitos na casa decimal, veja o que diz o manual (original) do Clipper:
Seção "Tipos de Dados"
Tipo: NUMÉRICO
Definicão: O tipo numérico é usado para identificar ítens que você deseja manipular matematicamante (somar, subtrair, multiplicar etc). O conjunto numérico do Clipper é definido como dígitos de zero a nove, ponto dicimal e sinal de adição e subtração de forma a identificar um número positivo ou negativo.
Com a exceção de campos o Clipper guarda valores numéricos usando o formato padrão IEEE de ponto flutuante de precisão dupla, na faixa de 10^-308 até 10^308. A precisão numérica é garantida até 16 dígitos significativos e um número pode ser formatado até tamanho 32 (i.e., 30 dígitos, um sinal e um ponto dcimal). Isto significa que números maiores que 32 dígitos podem ser exebidos como asteriscos e dígitos que não os 16 significativos serão exibidos como zeros.
Quando um valor é guardado dentro de um campo do arquivo (.dbf), eele é convertido do formato IEEE para um formato que pode ser exibido. Quando um campo numérico é trazido de um aqruivo, ele é convertido para o formato IEEE antes de qualquer operção a ser executada com ele. Desde que o formato exibível de um número é garantido até o tamanho máximo de 32 bytes, este é o maior comprimento recomendado para um campo numérico.
Literais numéricos são formados colocando-se junto a eles um ou mais dos seguintes sinais: um sinal positivo ou negativo, um ou mais dígitos representando a porção inteira do número, um ponto decimal, e um ou mais dígitos representando a parte fracionária.
Uma outra definição, porém mais simples extraída do livro de Antonio G.R. Vidal (Clipper) ele diz o seguinte:
- Campo numérico (tipo N): Quanto aos dados a serem nele armazenados possuírem, na sua composição, somente caracteres numéricos, os sinais + ou - e o ponto decimal (o ponto decimal, e não vírgula, pois o Clipper utiliza o sistema americano). Estes campos destinam-se ao armazenamento de dados com os quais se realizarão cálculos matemáticos. Um campo numérico pode conter até 19 dígitos ou posições, com até 18 casas decimais.
Espero ter coloborado...
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
TENTA ASSIM:
Quem sabe né? num custa tentar...
Código: Selecionar todos
set decimals to 7
@ 0 , 0 say "Numero com sete decimais:" get nNum pict "999,999,999.9999999"
read
set decimals to 2
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
anacatacombs
- Membro Master

- Mensagens: 472
- Registrado em: 12 Jul 2005 16:53
- Localização: Cianorte-Paraná
- Contato: