Tema: 1+1=3 ?
Ver Mensaje Individual
  #2  
Antiguo 21-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ambos resulatdos son correctos: el 5 está a la mitad entre un número y otro de manera que la decisión de a cuál de ellos redondear es totalmente arbitraria. Lo que si es que en estos momentos desconozco el porqué en un caso se toma una decisión y en el otro otra. Posiblemente tiene que ver con la forma en que Delphi interpreta el parámetro cuando lo pasas directamente. Por ejemplo, si en lugar de usar un Double utilizas un Single verás que redondea hacia arriba.

Para solucionar esto usa la funcion SetRoundMode de la unidad math.pas:

SetRoundMode(rmUp);

// Saludos
Responder Con Cita