erro no calculo?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

erro no calculo?

Mensagem por evaldo »

Meu sistema esta calculando 0,957 x 4,20 = 4.02 eu queria que o calcula fossem assim 0,957 x 4,20 = 4,0194, já alterei o set decimal para 4, na o sistema não muda nada, oque pode ser?
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

CALCULO ERRADO

Mensagem por Netavin »

amigo :
TRANSFORM(VARIAVEL,"@e 9,9999").

[]´s

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

Estranho, testei aqui e funciona como vc precisa. Mas tente:

nVar:=Round(0.957 * 4.2,4)
evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Mensagem por evaldo »

já tentei os dois post, e nada, o clipper tem um comando SET que faz isso, mas não lembro o nome dele, seu alguém souber.
Ademir
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 31 Jul 2007 16:28
Localização: Porto Ferreira-SP

Mensagem por Ademir »

O SET FIXED tem que estar ON para o numero de casas decimais ser estabelecido por SET DECIMALS TO.
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

É o Set Decimals To 4. Será que vc não colocou Set Decimals To 2 em alguma parte do programa ? Já testou o código separado do seu programa ?
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, posta como vc esta usando !!! se o SET DECIMALS TO e as dicas dos colegas tmb. não deu !!! posta ai..e vamos ver !!!

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Mensagem por evaldo »

ja tentei assim.

FUNCTION FTOTAL(aGetVenda)

SET FIXED ON
SET DECIMALS TO 4

aGetVenda.vltotal := aGetVenda.qtde * aGetVenda.vlunitario

RETURN(.T.)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Evaldo, de onde esta vindo esse aGetVenda ...vc esta pegando de algum DBF com algum campo numerico formato com algumas decimal ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

A origem do número não faz diferença.
Mas ajudaria saber que código está sendo usado para apresentação do número, onde ele aparece com 2 casas decimais. Já que é aí que está o poblema, é a partir daí que ele deve ser analisado.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
diogenes_varela
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 04 Nov 2006 19:33
Localização: Brasília - DF

Mensagem por diogenes_varela »

aGetVenda.vltotal
Estou tentando mas está dando erro nessa linha, deve ser o ponto?
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...

E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
Responder