Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2014
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 16
novato_erick Va por buen camino
Siguiendo este post que tiene muchos años ya sin embargo me esta pasando algo curioso respecto al redondeo con la función
Código Delphi [-]
 function SimpleRoundTo(variable, -2)
//Resultado en una suma de 11.21 + 0.78 = 11.99 con la función me redondea a 12.00

En este caso como verán ese centavo me está causando diferencia en el desarrollo que estoy realizando mucha diferencia a la hora de los reportes de ventas.

Alguna mejor idea de funciones que me retorne valores deseados reales... espero alguna gran ayuda...


Saludos


novato_erick
Responder Con Cita
  #2  
Antiguo 03-04-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Y cual es el problema?
Responder Con Cita
  #3  
Antiguo 03-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:52:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi