Ich habe viele Informationen über das Konvertieren von Rohbyte-Informationen in ein für Menschen lesbares Format gefunden, aber ich muss das Gegenteil tun, dh den String "1,6 GB" in den langen Wert 1717990000 konvertieren. Gibt es ein eingebautes / wohldefinierte Art und Weise, dies zu tun, oder werde ich so ziemlich meine eigenen rollen müssen?
[Bearbeiten]: Hier ist mein erster Stich ...
%Vor%Ich habe noch nie von solch einer wohlbekannten Bibliothek gehört, die solche Text-Parsing-Utility-Methoden implementiert. Aber Ihre Lösung scheint nahe an der korrekten Implementierung zu liegen.
Die einzigen beiden Dinge, die ich in Ihrem Code korrigieren möchte, sind:
Definieren Sie die Methode Number parse(String arg0)
als statisch aufgrund der Natur des Hilfsprogramms
Definieren Sie factor
s für jeden Typ der Größendefinition als final static
fields.
i.e. Es wird so sein:
%Vor%Eine überarbeitete Version von Andremonis Antwort, die richtig zwischen Kilo und Kibi unterscheidet, usw.
%Vor%Ich weiß, das ist viel später, aber ich suchte nach einer ähnlichen Funktion, die auch das SI-Präfix berücksichtigt . Also bin ich selbst auf die Beine gekommen und dachte mir, dass es für andere Leute nützlich sein könnte.
%Vor%Ich bin mir sicher, dass dies auch mit Rekursion möglich ist. Es war zu einfach zu stören ...
Tags und Links java long-integer byte human-readable