AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Delphi Extended To String mit dekadischen Einheiten
Thema durchsuchen
Ansicht
Themen-Optionen

Extended To String mit dekadischen Einheiten

Ein Thema von markus5766h · begonnen am 23. Jun 2009 · letzter Beitrag vom 19. Jun 2017
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#11

AW: Extended To String mit dekadischen Einheiten

  Alt 21. Mär 2016, 10:05
Ersmal: Nicht Extended verwenden, sondern Double.
Im Grunde was Extended nicht für die Verwendung vorgesehen, sondern "nur" für die internen Berechnungen der FPU.
In 64 Bit gibt es Extended daher auch nicht mehr. (der Delphi-Compiler verwendet an der Stelle "heimlich" Double)

Extended kann bis zu 4951 Nachkommastellen haben und Double auch immernoch 324.
Wenn es nicht genau 0 wird, dann die kann Schleife viel öfters durchlaufen, als gewollt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#12

AW: Extended To String mit dekadischen Einheiten

  Alt 21. Mär 2016, 11:34
Ersmal: Nicht Extended verwenden, sondern Double.
Im Grunde was Extended nicht für die Verwendung vorgesehen, sondern "nur" für die internen Berechnungen der FPU.
In 64 Bit gibt es Extended daher auch nicht mehr. (der Delphi-Compiler verwendet an der Stelle "heimlich" Double)

Extended kann bis zu 4951 Nachkommastellen haben und Double auch immernoch 324.
Wenn es nicht genau 0 wird, dann die kann Schleife viel öfters durchlaufen, als gewollt.
o.k., danke --> dann spar' ich mir ja noch zwei Byte

. . . überarbeitet
Markus H.

Geändert von markus5766h (21. Mär 2016 um 14:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Extended To String mit dekadischen Einheiten

  Alt 21. Mär 2016, 19:32
Und bitte übernimm nicht den Tippfehler von himitsu. Es heißt Epsilon und nicht Expsilon.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#14

AW: Extended To String mit dekadischen Einheiten

  Alt 21. Mär 2016, 20:51
ups
Markus H.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#15

AW: Extended To String mit dekadischen Einheiten

  Alt 22. Mär 2016, 10:01
Neee, das ist doch kein Fehler ... war nur von Expstep geguttenbergt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
471 Beiträge
 
Delphi 12 Athens
 
#16

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 02:12
Zunächst: Danke für die Funktion! Habe gerade genau nach so etwas gesucht.

Ist die aktuellste Version im Beitrag #5?
Wenn ja, dann ist dort Tera immer noch falsch geschrieben.
Zudem sollte es vermutlich Eliminate statt Eleminate heißen (wenn damit "eliminieren" gemeint ist).

Meine eigentliche Frage bezieht sich jedoch auf die Anzahl der Vorkommastellen. Ist hierfür Accuracy vorgesehen? Wie kann ich denn festlegen, dass ab 4 Vorkommastellen in die nächste Einheit gewechselt werden soll?
FloatToStrS(1000000000, True, True, '', 3, 0) liefert "1E3 M"
FloatToStrS(1000000000, True, True, '', 4, 0) liefert "1.000 M"
Wie komme ich denn zu "1 G"?
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#17

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 08:30
Vorsätze für Maßeinheiten
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
471 Beiträge
 
Delphi 12 Athens
 
#18

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 10:13
Was willst du mir damit sagen?
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#19

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 18:35
Zunächst: Danke für die Funktion! Habe gerade genau nach so etwas gesucht.

Ist die aktuellste Version im Beitrag #5?
Wenn ja, dann ist dort Tera immer noch falsch geschrieben.
Zudem sollte es vermutlich Eliminate statt Eleminate heißen (wenn damit "eliminieren" gemeint ist).

Meine eigentliche Frage bezieht sich jedoch auf die Anzahl der Vorkommastellen. Ist hierfür Accuracy vorgesehen? Wie kann ich denn festlegen, dass ab 4 Vorkommastellen in die nächste Einheit gewechselt werden soll?
FloatToStrS(1000000000, True, True, '', 3, 0) liefert "1E3 M"
FloatToStrS(1000000000, True, True, '', 4, 0) liefert "1.000 M"
Wie komme ich denn zu "1 G"?
Hab' den Post # 5 noch mal geändert :
FloatToStrS(1000000000, False, False, 6, 0) sollte 1 G ergeben.
Markus H.
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
471 Beiträge
 
Delphi 12 Athens
 
#20

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 19:43
Sorry, aber irgendwie passt das nicht. Ist jetzt noch falscher als vorher.

Zum Testen:
Delphi-Quellcode:
  for i := 0 to 9 do
  begin
    Number := Power(10, i);
    s := s + FloatToStrS(Number, False, False, '', 3, 0) + #13#10;
  end;
  ShowMessage(s);
Erwartete Ausgabe:
Code:
1
10 
100 
1 Kilo
10 Kilo
100 Kilo
1 Mega
10 Mega
100 Mega
1 Giga
Alte Version:
Code:

10 
100 
1E3 
10 Kilo
100 Kilo
1E3 Kilo
10 Mega
100 Mega
1E3 Mega
Neue Version:
Code:
0 Kilo
0 Kilo
0 Kilo
1 Kilo
0 Mega
0 Mega
1 Mega
0 Giga
0 Giga
1 Giga
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz