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

Extended To String mit dekadischen Einheiten

Ein Thema von markus5766h · begonnen am 23. Jun 2009 · letzter Beitrag vom 19. Jun 2017
Antwort Antwort
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#1

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 21:54
die Anzahl der Vor- oder Nachkommastellen soll jedenfalls weiterhin mit übergeben werden.
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 "1E3 Mega" oder "1000 Mega" sollte "1 Giga" herauskommen. Gleiches natürlich für die anderen Einheiten.
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
 
#2

AW: Extended To String mit dekadischen Einheiten

  Alt 12. Nov 2016, 22:14
@ CodeX

... so sollte es gehen, ist bestimmt noch verbesserbar, liefert aber erstmal das gewünschte Ergebnis.

Post # 5 aktualisiert
Angehängte Grafiken
Dateityp: jpg screenshot3.JPG (44,3 KB, 22x aufgerufen)
Markus H.
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#3

AW: Extended To String mit dekadischen Einheiten

  Alt 13. Nov 2016, 00:13
Jetzt passt es, danke!
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
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Extended To String mit dekadischen Einheiten

  Alt 8. Jun 2017, 12:06
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:
Delphi-Quellcode:
  for i := 0 to 2000 do
    Memo1.Lines.Add(IntToStr(i) +': '+ FloatToStrS(i, True, True, '', 3, 0));
Code:
99: 99
100: 100
101: 101
102: 0 K
103: 0 K
...
498: 0 K
499: 0 K
500: 1 K
501: 1 K
...
1498: 1 K
1499: 1 K
1500: 2 K
1501: 2 K
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
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Extended To String mit dekadischen Einheiten

  Alt 17. Jun 2017, 13:47
Keine Idee?
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
 
#6

AW: Extended To String mit dekadischen Einheiten

  Alt 19. Jun 2017, 18:54
Keine Idee?
doch . . . setz mal die Digit's auf 3,
dann bekommst Du bei einem Ausgangswert von 498 ----> 0,498 K.
Wenn dagegen die Anzahl der Nachkommastellen auf 0 steht, kann da nichts Vernünftiges bei 'raus kommen.
Markus H.

Geändert von markus5766h (19. Jun 2017 um 19:07 Uhr)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Extended To String mit dekadischen Einheiten

  Alt 19. Jun 2017, 21:47
Wenn dagegen die Anzahl der Nachkommastellen auf 0 steht, kann da nichts Vernünftiges bei 'raus kommen.
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 werden. Erst bei 1000 - 1999 müsste es 1 K sein (bei 0 Nachkommastellen).
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

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz