Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2016
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 494
Poder: 17
Neeruu Va por buen camino
Error al Multiplicar (Función de Redondeo)

Hola a todos, tengo la siguiente función para redondear:

Código Delphi [-]
Function Redondear (Numero : Double; PrecisionDec : byte) : double;
  function Potencia(Base : Double; Exponente : byte) : Double;
  begin
    Result := Exp(Exponente * ln(Base));
  end;
var Nro:Single;
iRound:Integer;
begin
  Nro := Numero * Potencia(10, PrecisionDec);

  if (Frac(Nro))>=0.5 then
    iRound := 1
  else
  if (Frac(Nro))<=-0.5 then
    iRound := -1
  else iRound := 0;

  Result := (Trunc(Nro)+iRound) / Potencia(10, PrecisionDec);
end;

Pero cuando redondeo este valor :247999.57 a 2 decimales el valor de la variable Nro es de 24799958, cuando debería ser 24799957...

O sea el error esta en esta linea:
Código Delphi [-]
  Nro := Numero * Potencia(10, PrecisionDec);

Alguien sabe porque se puede dar esto?

Saludos...
__________________
Saluda Atte Neeruu!!! :)
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al multiplicar 2 memos rufo Varios 11 10-08-2012 23:18:42
Funcion de Redondeo ZiriusB OOP 6 16-12-2010 21:52:16
Error de redondeo xerkan Varios 2 03-11-2010 22:13:05
Problema de Redondeo de Decimales con una Función agustibaldo Varios 19 10-11-2008 13:13:03
funcion de redondeo de decimales Rabata Varios 2 29-09-2003 02:41:39


La franja horaria es GMT +2. Ahora son las 03:11:03.


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