Página 1 de 1

Formatação de números em um get

Enviado: 17 Set 2004 11:54
por CARLOS GOMES
:shock:
Olá!
Estou com um problema quando digito em get um numero que contém décimos, por exemplo: 234,33.
Enquanto estou no get a formatação permanece, o problema e depois de
gravado no dbf, quando vou reapresentar o numero na tela, aparece da
seguinte forma: 234,00 ou seja a parte decimal foi arredondada, necessito que os decimos façam parte do numero, nao sei o que fazer,
peço ajuda......

Obs: a mascara de digitação que uso: "999,999.99"


Atenciosamente
Carlos Gomes
acferreiragomes@ig.com.br

Enviado: 17 Set 2004 12:28
por janio
Amigo,

Verifique o seguinte:
1º - Olhe no seu DBF se a estrutura está para 02 casas decimais, assim:
campo, N, 9, 2.

2º - Em máscaras de digitação de valores utilize sempre "@E 99,999.99".


Janio

Enviado: 17 Set 2004 12:49
por CARLOS GOMES
Muito obrigado Jânio.
Realmente o meu dbf estava configuardo as casas decimais em 0.

Valeu!
Estou em débito, quando precisar estou pronto para ajudar.

Até breve

Enviado: 17 Set 2004 13:01
por janio
CARLOS GOMES escreveu:Muito obrigado Jânio.
Vc não tem do que agradecer.
Sou iniciante em clipper e estou neste mundo da programação há apenas alguns meses, porém já consegui fazer muita coisa. Este fórum tem sido essencial para o meu aprendizado. Fico muito feliz quando alguém responde a uma dúvida que tenho e minha obrigação é somente retribuir quando algum amigo tiver uma dificuldade.

Janio

Arredondamento

Enviado: 17 Set 2004 14:10
por Clash
Olá Amigos, Carlos e Jânio!

Pegando carona, realmente este fórum é o HELP que precisamos.

Só um complemento quanto ao uso das casas decimais, estou começando a adotar em alguns sistemas que requerem calculos com porcentagem(lucro, juros,etc..) três ou até mesmo quatro casas decimais para na hora do retorno, conseguir valores exatos.
Sem falar do comando SET DECIMALS, e da rotina para arredondamento em divisão na forma de pagamento.

[ ]s
Clash

Arredondamentos...

Enviado: 17 Set 2004 18:37
por gransoft
Clash escreveu:... cálculos com porcentagem (lucro, juros, etc..) três ou até mesmo quatro casas decimais para na hora do retorno, conseguir valores exatos...
ARAGUARI-MG, 17 de setembro de 2004.

Prezados Srs.,

E ... complementando a paranóia dos ARREDONDAMENTOS, em certas situações um ECF "trava" sem motivo aparente...

Código: Selecionar todos

* ARREDONDA SEGUNDA CASA DECIMAL
* nSubTotal := INT(((nQtd * nUnit) * 100.00) + 0.50) / 100.00
* ARREDONDA TERCEIRA CASA DECIMAL
* nSubTotal := INT(((nQtd * nUnit) * 1000.00) + 0.050) / 1000.00
                *
                * 2.75 x 3.30 = 9.075    9.08ecf 9.07ped
                *
                * 0.55 x 6.90 = 3.795    3.80ecf 3.79ped
                *
                * 0.35 x 5.50 = 1.925    1.93ecf 1.92ped
                *
                * 0.55 x 10.90 = 5,995   
                *
E aparentemente, a explicação coerente para o "fenômeno" é a Norma ABNT NBR 5891, acessem:
http://www.gransoft.com/doc/abnt5891.html

Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br

Enviado: 18 Set 2004 20:39
por rochinha
Amiguinhos

Mais um complemento quanto as máscaras:

O Clipper 5.2 para frente possue um bug no posicionamento do ponto dentro de um GET numérico, fazendo com que ao digitarmos um numero e pressionar o ponto para pular os decimais, aparecem dois pontos decimais impossibilitando a digitação, portanto use sempre as mascaras para os campos nuéricos que possuam decimais.

Quanto aos campos nas tabelas como estoque e financeiros eu adotei o uso de até 4 casas decimais ns campos numéricos, hoje não me importo mais se vai ocupar bytes a mais ou menos, o cliente que adquira HDs maiores e mais memória.

Desta forma, não é necessário modificar a estrutura dos .DBFs e sim o formato da máscara que para um mesmo campo poderá ser diferente, vejam o exemplo para o campo QUANTIDADE de minha tabela ESTOQUE:

Tenho uma tabela de unidades de medias onde cadastro cada tipo de medida usado no estoque que contem campos como:

sigla: KG, MT, M2, UN, respectivamente Kilos, Metros, Metro quadrado, Unidade, etc.

Cada sigla tem armazenada sua mascara de configuração dos GETs desta forma:

@E 99999.999, @E 999999.99, @E 999999.99, @E 999999999

Vejam que a mascara possui tamanho 9, conta-se o ponto também, neste caso o campo em minha tabela possui 9 digitos mais quatro decimais, ou seja 999999999.9999, quatorze digitos de tamanho.

E no momento de trabalhar com estes campos, dependendo da sigla eu apresento a mascara adequada, desta forma os dados ficam bem formatados e sem esforço algum.

A tabela esta em http://www.softclever.com/downloads/unidades.dbf

@braços :?)