Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #17  
Antiguo 04-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_erik.

Tanto Delphi como Firebird, redondean (y lo hacen muy bién) con SimpleRoundTo() y ROUND(), pero si sos de los que te gusta ir a las bases, te pongo otra opcion.

Delphi:
Código Delphi [-]
function Redondear(const Numero: Double; const Digitos: Integer): Double;
var
  Factor: Double;
begin
  Factor:= Abs(Exp(Ln(10)*(-Digitos)));
  Result:= Trunc((Numero/Factor) + 0.5) * Factor;
end;

Firebird:
Código SQL [-]
SET TERM ^ ;

CREATE OR ALTER PROCEDURE SP_ROUND(NUMERO DOUBLE PRECISION, DIGITOS INTEGER)
RETURNS(RESULT DOUBLE PRECISION)
AS
  DECLARE VARIABLE FACTOR DOUBLE PRECISION;
BEGIN
  FACTOR = ABS(EXP(LN(10)*(-DIGITOS)));
  RESULT = TRUNC((NUMERO/FACTOR)+0.5)*FACTOR;
  SUSPEND;
END^

SET TERM ; ^

Saludos
__________________
Daniel Didriksen

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



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 17:10:55.


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