![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() Hola Gente!!!!!
Tengo un problema y la verdad no tengo idea de como solucionarlo. tengo declaradas 3 variables de tipo Real, le asigno un numero real a cada una de ellas y luego las quiero restar entre si, y me da un numero exadecimal como resultado. ejm. variable1:=156.23; variable2:=156.23; variable3:=0; resultado:=variable1 - variable2 - variable3; en la variable resultado debería obtener un 0;pero me da un numero exadecimal... Si alguien me puede dar una mano agradecido.... Gracias... |
#2
|
||||
|
||||
Como una solución sencilla, te puedo decir que compares siempre los resultados de redondeados, o que tengas en cuenta un pequeño margen de error.
Código:
function SonIguales(const Nro1, Nro2: Extended): Boolean; begin Result := Nro1 - Nro2 < 5.0e-324; end;
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. ![]() Última edición por delphi.com.ar fecha: 30-07-2003 a las 18:19:31. |
#3
|
|||
|
|||
![]() Mucha gracias, evidentemente el problema venia por ese lado
lo solucione con la funcion roundto(variable,-2).. Gracias... |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|