Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#46

AW: Float in zwei Integer zerlegen

  Alt 20. Jun 2015, 15:43
Ich möchte eine Gleitzahl in zwei Integer zerlegen.

Vorkomma und Nachkomma sollen jeweils zwei Integer bilden. Später will ich das ganze zusammensetzen.
Lösungen wurden schon gezeigt - hier eine Zusammenfassung:

Delphi-Quellcode:
procedure MM(s:string); begin Form1.Memo1.Lines.Add(s); end;

Function LDOUBLE(d:Double):INTEGER;
begin
  Result:= TRUNC(d);
//evtl. Zahl verschlüsseln
end;

Function RDOUBLE(d:Double):INTEGER;
begin
  Result:= TRUNC(FRAC(d) * 24 * 60 * 60 * 1000);
//evtl. Zahl verschlüsseln
end;

Function INTINTDOUBLE(a, b : INTEGER): DOUBLE;
begin
// evtl. Zahlen a und b vorher entschlüsseln
  Result:= a + (b / 24 / 60 / 60 / 1000);
end;

procedure TForm1.Button6Click(Sender: TObject);
var a, b : INTEGER;
begin
MM(DATETIMETOSTR(now));

a:= LDOUBLE(now);
b:= RDOUBLE(now);
MM('LDOUBLE: '+INTTOSTR(a));
MM('RDOUBLE: '+INTTOSTR(b));

MM('Date: '+DATETOSTR(INTINTDOUBLE(a,b)));
MM('Time: '+TIMETOSTR(INTINTDOUBLE(a,b)));
MM('ReCombined: '+DATETIMETOSTR(INTINTDOUBLE(a,b)));
end;

Geändert von hathor (21. Jun 2015 um 10:36 Uhr)
  Mit Zitat antworten Zitat