![]() |
AW: FormatFileSize
Ich meine sowas:
Delphi-Quellcode:
Basierend auf dieser Aussage:
var
_size: Extended; orgMode: TRoundingMode; begin _size := 1.0957031; orgMode := SetRoundMode(rmDown); try Assert(FormatFloat('0.##', _size, TFormatSettings.Invariant) = '1.09', 'Abrunden klappt nicht!'); finally SetRoundMode(orgMode); end; end; Zitat:
Zitat:
|
AW: FormatFileSize
Da ich mich gleich an Strand klatsche hab ich keine Zeit mehr, aber mein Vorschlag beinhaltet Beispiel Code, wenn man nichts rundet, rundet man nichts. Also wo kommt Round() vor?
Falls ich darauf noch Lust haben sollte, schreibe ich was mit Delphi basierend aus dem Informationen vom Link und nicht basierend auf irgendwas was nicht Round() enthält. Man kann Round() auch in Format() reinbringen... |
AW: FormatFileSize
Also SetRoundMode behalte ich mal im Hinterkopf. Danke für die Info.
Find jetzt die Zeile "result := Format('%s %s', [FormatFloat('0.##', Floor(100*_size)/100, fs), s]);" passt ganz gut. KodeZwerg und Uwe Raabe... ich hoffe ihr streitet nicht rum :) Aber Windows macht wirklich sein eigenes Ding. Abgesehen von der Bezeichnung der Dateigrößen... 308736 Bytes / 1024 = 301,5 (Windows gibt 301 aus) <- Datei System32\wusa.exe 14848 Bytes / 1024 = 14,5 (Windows gibt 14,5 aus) <- Datei System32\wshirda.dll Mal mit ",5" mal ohne. (im Explorer Ansicht Modus "Liste" oder bei den Datei-Eigenschaften) Im Modus "Details" (dort ist alles ohne Nachkommastellen) die wusa.exe mit 302 wobei in der Statusleiste dann gleichzeitig 301 steht Ich gebe jetzt z.B. bei der wusa.exe 301,5 KiB aus. Schon komisch Michael |
AW: FormatFileSize
Zitat:
|
AW: FormatFileSize
Zitat:
Hab Euch alle lieb.:thumb: |
AW: FormatFileSize
Windows 10 zeigt im Explorer als Größe den Wert 302 KB und bei den Eigenschaften 301 KB (308 736 Bytes) an.
Konsistent ist da also anders. Im Explorer erfolgt die Berechnung mit dem ![]() ![]() |
AW: FormatFileSize
Zitat:
Ich schrieb ja oben wusa.exe und wshirda.dll (mal mit ,5 mal ohne) im selben Ansichtmodus. (Fette Schrift = Ansicht von Windows in den Eigenschaften) wshirda.dll: Größe = 14848 / 1024 = 14,5 (14,5) Diff. 0 wusa.exe: Größe = 308736 / 1024 = 301,5 (301) Diff. 0,5 Also Windows10 rundet (bei der gleichen Ansicht) bei der wshirda.dll nicht, bei der wusa.exe aber schon. Total Sinnfrei. Aber ich mache mir jetzt da kein Kopf mehr mit diesem Programm aus der Garage (*lach). Ich gebe bei beiden Dateien ",5" mit aus. Michael |
AW: FormatFileSize
Zitat:
Und hier rundet er eben nicht auf x Nachkommastellen, sondern auf 3 "sichtbare" Dezimalstellen. |
AW: FormatFileSize
Zitat:
Nur bei den Bytes sind es mal weniger als 3 Zahlen. Naja, 92 Bytes als 92,0 Bytes anzuzeigen wäre dann etwas peinlich :) Aber vielleicht finde ich ja noch eine 3,25 Bytes Datei *lach Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 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-2025 by Thomas Breitkreuz