Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
19. Jun 2017
Warum denn nicht? Das ist doch genau meine Absicht, damit nur Ganzzahlen zu erhalten. Ich möchte ja eben keine Nachkommastellen haben.
Du willst doch nicht sagen, dass es so gewollt ist:
101 -> 101
102 -> 0 K
Was macht es für einen Sinn, dass 102-499 in 0 K umgewandelt werden, und 500-999 in 1 K? Es sind nur 3 Stellen, daher brauchen sie ja nicht in die nächsthöhere Einheit umgewandelt...
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
8. Jun 2017
Ich möchte ja nicht wieder "meckern", aber es funktioniert wohl doch noch nicht richtig. Bei runden Zahlen klappt das (wie in Deinem Screenshot zu sehen), aber ab 102 kommt nur Quatsch:
for i := 0 to 2000 do
Memo1.Lines.Add(IntToStr(i) +': '+ FloatToStrS(i, True, True, '', 3, 0));
99: 99
100: 100
101: 101
102: 0 K
103: 0 K
...
498: 0 K
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
12. Nov 2016
Jetzt passt es, danke! :thumb:
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
12. Nov 2016
Nichts anderes versuche ich zu erfragen bzw. zu empfehlen. So wie ich die Funktion verstanden habe, sollte per FloatToStrS(Zahl, True, True, '', 3, 0) eine Formatierung herauskommen, die ab 4 Vorkommastellen in die nächste Einheit wechselt und keine Nachkommastellen hat. Stattdessen kommt sowas wie "1E3 Mega" raus. Das halte ich für falsch. Da sollte in dem Fall "1 Giga" stehen.
Nochmal: Statt...
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
12. Nov 2016
Naja, Sinn ist es doch, dass ich einfach eine Zahl übergebe und diese mit einer optimalen Formatierung erhalte, ohne mir Gedanken zu machen, wie viele Stellen die Zahl hat bzw. ohne weitere Parameter anzupassen.
Dein zweiter Screenshot zeigt das Problem doch auch: Warum sind es 1.000 Mega und nicht 1 Giga? Sobald die nächst größere Einheit mit Zahl vor dem Komma erreicht ist, sollte doch auch in...
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
12. Nov 2016
Sorry, aber irgendwie passt das nicht. Ist jetzt noch falscher als vorher.
Zum Testen:
for i := 0 to 9 do
begin
Number := Power(10, i);
s := s + FloatToStrS(Number, False, False, '', 3, 0) + #13#10;
end;
ShowMessage(s);
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
12. Nov 2016
Was willst du mir damit sagen? :?
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by CodeX,
12. Nov 2016
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?...