Página 1 de 1

erro no calculo?

Enviado: 20 Ago 2007 16:56
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?

CALCULO ERRADO

Enviado: 20 Ago 2007 17:04
por Netavin
amigo :
TRANSFORM(VARIAVEL,"@e 9,9999").

[]´s

Netavin

Enviado: 20 Ago 2007 17:08
por Grings
Estranho, testei aqui e funciona como vc precisa. Mas tente:

nVar:=Round(0.957 * 4.2,4)

Enviado: 20 Ago 2007 17:14
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.

Enviado: 20 Ago 2007 17:21
por Ademir
O SET FIXED tem que estar ON para o numero de casas decimais ser estabelecido por SET DECIMALS TO.

Enviado: 20 Ago 2007 17:24
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 ?

Enviado: 20 Ago 2007 17:28
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

Enviado: 20 Ago 2007 17:34
por evaldo
ja tentei assim.

FUNCTION FTOTAL(aGetVenda)

SET FIXED ON
SET DECIMALS TO 4

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

RETURN(.T.)

Enviado: 20 Ago 2007 18:07
por sygecom
Evaldo, de onde esta vindo esse aGetVenda ...vc esta pegando de algum DBF com algum campo numerico formato com algumas decimal ?

Enviado: 20 Ago 2007 23:37
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.

Enviado: 22 Ago 2007 12:14
por diogenes_varela
aGetVenda.vltotal
Estou tentando mas está dando erro nessa linha, deve ser o ponto?