Domino 9 und frühere Versionen > Entwicklung
Logik-Frage: Bytes in KB umwandeln mit Formatierung
TMC:
Hi,
ich benötige eine LS-Function, die mir Bytes in Kilobytes umwandelt.
Beispiele:
100 --> 0,1 KB
1314456 --> 1.283,6 KB
13144564567 --> 12.836.488,8 KB
Also: 1000er Trennzeichen, Rundung auf x Stellen
Habe mir überlegt, das über Select Case zu machen.
intLen = Len(lngBytesOhneNachkomma)
Select Case intLen
Case 1 To 3:
strResultOhneNachkomma = ... 'setze Wert direkt, da wir keinen 1000er Punkt brauchen
Case 4 To 6:
strResultOhneNachkomma = $Left(lngBytesOhneNachkomma, intLen - 3) & "." & $Right(lngBytesOhneNachkomma, 3)
usw.
Aber irgendwie ist das nicht toll.
Hat wer eine Idee, wie man das möglichst logisch und ohne viele Codezeilen (also ohne den in diesem Fall gruseligen Select Case....) umsetzen könnte?
Mir fehlt irgendwie die Idee hierzu...
koehlerbv:
Vielleicht verstehe ich ja nicht wirklich, was Du willst - aber das würde ich mit Round erledigen.
Oder: Schreib's mal genauer auf ...
Bernhard
TMC:
Man nehme eine Zahl mit 1-n Stellen (ohne Nachkomma, ich nehme an, die hat man schon weggenommen).
Wie setze ich jetzt am einfachsten das 1000er Trennzeichen (Ergebnis = String)?
1 => "1"
100 => "100"
1000 => "1.000"
10000000000000 => "10.000.000.000.000"
usw.
Da war mein Ansatz, das mit "Select Case 'Anzahl Stellen' " umzusetzen, erscheint mir aber nicht sauber.
koehlerbv:
Aah ;)
Mein Vorschlag: Wert mit Round bilden, diesen dann als String umwandeln und diesen String "van Hinten" per Schleife durchlaufen und alle x Chars einen Punkt zwischensetzen (die Dimension AKA Kommastelle natürlich beachten).
HTH,
Bernhard
TMC:
Bernhard, danke, das "van Hinten" reicht mir schon als Lösung :)
Klar, eine entsprechende Schlaife sollte da den zweck erfüllen ;)
Nun kann ich auch Byte-Größen berücksichtigen, die jenseits unserer heutigen Vorstellungen sind, und es wohl erst in 5 Jahren einen entsprechenden Namen gibt ;D
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln