Verificando meus documentos sobre o clipper me deparei com um antigo erro bastante comentado e que vale apena exibi-lo para que ninguém se engane com comparações lógicas, uma parte do erro não se repete no xHarbour mas outra sim, vou deixar de lero-lero e mostrar o que acontece:
Código: Selecionar todos
FUNCTION MAIN
CLS
Var1 = 2045.18
Var2 = 500
Tot = 2545.18
// Assim dá erro: (Clipper e xHarbour)
If Tot = (Var1 + Var2)
? "Igual"
Else
? "Distinto"
EndI
// Assim dá certo: (Clipper e xHarbour)
If STR(Tot) = STR((Var1 + Var2))
? "Igual"
Else
? "Distinto"
EndI
// No Clipper No xHarbour
? int(1.14*100) // = 113 = 114
? int(1.15*100) // = 114 = 115
? int(1.16*100) // = 115 = 116
? int(1.17*100) // = 117 = 117
RETURN NIL

