Tema: Redondeo
Ver Mensaje Individual
  #11  
Antiguo 03-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola novato_erick.

A mi tampoco me queda claro si lo que esperas es 11.99 y obtenes 12 o viceversa.

El método común de redondeo consiste en verificar el valor del próximo dígito a la derecha del que se quiere redondear. Si este es menor a 5, el dígito a redondear no se altera, caso contrario se incrementa su valor en uno.

Si el valor a redondear a dos cifras es 11.99, entonces:
Código Delphi [-]
  Resultado:= SimpleRoundTo(11.99); // el segundo parámetro es -2 por defecto
dejará en la variable "Resultado" el valor 11.99, para hacerlo mas claro agreguemos un cero a la derecha: 11.990. Como queremos redondear a dos cifras, revisamos el valor de la tercera (0), es menor que cinco y por tanto no se tiene que alterar el valor de la segunda.

Para lograr el resultado 12 a partir de 11.99 habría que hacer:
Código Delphi [-]
Resultado:= SimpleRoundTo(11.99, -1);

Si estas obteniendo otro comportamiento, sinceramente no sé que puede estar pasando...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita