Página 1 de 1

Erro de comparação Clipper x Visual Lib 123 = 123 da .F. ??

Enviado: 19 Set 2004 15:13
por rrfsistemas
Tenho um sistema de Cartão de Crédito, uso a visual lib, quando comparo as variáveis abaixo o sistema retorna .F..
Creio que o motivo esteja na Lib, mas posso estar errado.

wvlrrecd = 252.50 - // Valor pago pelo cliente
wtotger = 252.50 - // Valor somado - dívida do cliente

If wvlrrecd = wtotger // pgto total

Já exibi os valores na tela e são exatamente iguais, inclusive na picture.

Gostaria de saber se alguém já viu este tipo de problema.


Desde ja agradeço.

Enviado: 19 Set 2004 15:29
por Dudu_XBase
Boa Tarde Renato, ja tive esse problema.
Sabe o que eu fiz...eu converti para caracter...ae foi di boa...na época entrei em pânico..rs..uma pessoa q poderia nos explicar isso é o Maligno...

// Faça isso q resolverá seu problema
If strzero(wvlrrecd,10,2) = strzero(wtotger ,10,2)

Tamanho foi o susto q fiz uma função para realizar comparações entre váriaveis numéricas...rs...

(Y)

Enviado: 19 Set 2004 21:48
por rrfsistemas
Caro Dudu

OBRIGADOOOO pela dica....

Consegui resolver parte do problema invertendo a comparação com sinais de <>,>=, <=

MAS a comparação (= a) terei que usar sua dica...

wvlrrecd = 252.50 - // Valor pago pelo cliente
wtotger = 252.50 - // Valor somado - dívida do cliente

If wvlrrecd = wtotger // pgto total

Será que o problema é da lib ???

Enviado: 19 Set 2004 23:51
por Clipper
Prezado Colega

Esse é um erro do Clipper, é um bug até bem conhecido, e só tem um jeito da comparação dar certo. Convertendo para string e comparando.

Até logo.

Marcelo

Enviado: 20 Set 2004 17:13
por rrfsistemas
Caros colegas

como fazer para comparar se um valor é maior do que o outro ??

Enviado: 20 Set 2004 18:10
por Clipper
Prezado colega

Você pode comparar normalmente usando os operadores > (maior que), < (menor que), >= (maior ou igual a) ou <= (menor ou igual a), independentemente do dado ser do tipo caractere ou numérico, os 2 retornarão (se não fosse o bug do Clipper) o mesmo resultado, porém para fazer comparação de valores numérico é recomendável fazer a comparação transformando para caractere, isso por causa do bug de comparação de valores núméricos (ponto flutuante).

Até logo.

Marcelo

Enviado: 21 Set 2004 00:25
por rrfsistemas
Bom dia amiguinhos

estou feliz porque consegui resolver o meu "BUG"

troquei os if por Do Case e acreditem... RESOLVEU

OBRIGADOOOOO A TODOS.