Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2006
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Gracias a todos por responder.

"delphi.com.ar Las he probado despues de responder, y el resultado no fue bueno....", pienso lo mismo

lpmlpm, tu respuestas, no la entendi, no veo que es lo que hace, me aclaras un poquito

luisgutierrezb, estoy estudiando la pagina que me diste haber si hago mi propio algoritmo, pero si alguien me ayuda pos mejor, alguna ayudita mas?

salu2.
Responder Con Cita
  #2  
Antiguo 27-05-2006
Avatar de lpmlpm
lpmlpm lpmlpm is offline
Miembro
 
Registrado: ago 2005
Posts: 136
Poder: 19
lpmlpm Va por buen camino
Ok. a ver ahora un poco más digerido:

Código Delphi [-]

uses Math;

function RealaFraccion(R: string): string;
var a, b, mcd, mcm, tmp, resto, NDecimales: INTEGER;
begin
  if StrToFloatDef(R, 0) = 0 then
  begin
    Result := '0';
    Exit;
  end;
  NDecimales := Length(R) - Pos('.', R);
  a := Trunc(StrToFloat(R) * Power(10, NDecimales));
  b := Trunc(Power(10, NDecimales));
  tmp := a;
  mcd := b;
  repeat
    resto := tmp mod mcd;
    if resto <> 0
      then begin
      tmp := mcd;
      mcd := resto;
    end;
  until resto = 0;
  Result := IntToStr(A div mcd) + '/' + IntToStr(B div mcd);
end;

//Y lo llamarías así:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := RealaFraccion(Edit1.Text)
end;

Seguro que pudiera optimizarse en varias partes... es una versión preliminar y he sido un poco cobarde al no querer involucrarme demasiado con los diferentes tipos de datos flotantes que hay pero en mi experiencia trabajar de este modo te da mucha tranquilidad y es mejor llevarla tranquila por ese lado... prefiero tratar los flotantes limitados como estos como cadenas para evitar conflictos y respetar al máximo el número real que tu quieres convertir en fracción...

Saludos
__________________
"Lo mejor de no saber hacer nada es que se tiene mucho tiempo libre."
Responder Con Cita
  #3  
Antiguo 28-05-2006
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Gracias pmlpm, ahora si se entendió, dejame probarlo y te cuento
Responder Con Cita
Respuesta



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
Se puede crear Dns por codigo Delphi ronimaxh Conexión con bases de datos 0 09-08-2005 16:38:11
¿Se puede personalizar el Outlook con Delphi? andressanchez Varios 6 26-07-2005 17:33:07
¿Cuan costoso puede ser Delphi? MARVIALI Conexión con bases de datos 1 07-12-2004 18:37:25
Como se puede hacer un MDI en Delphi k2k2k2 Varios 5 23-05-2004 12:19:18
Delphi puede parametrizarse? squenda OOP 2 03-03-2004 14:17:04


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


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