Bytesanzahl schön formatieren

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir das Konzept des Pretty-Printing von Zahlen in Bytes in ein menschenlesbares Format mithilfe von JavaScript untersuchen. Wir werden lernen, wie man eine gegebene Anzahl von Bytes in KB, MB, GB, TB, PB, EB, ZB und YB umwandelt, indem wir ein Array-Wörterbuch von Einheiten verwenden. Mit Hilfe der Methode Number.prototype.toPrecision() werden wir die Zahl auf eine bestimmte Anzahl von Stellen kürzen und einen aufgeräumten String erstellen, um das Ergebnis anzuzeigen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") subgraph Lab Skills javascript/variables -.-> lab-28554{{"Bytesanzahl schön formatieren"}} javascript/data_types -.-> lab-28554{{"Bytesanzahl schön formatieren"}} javascript/arith_ops -.-> lab-28554{{"Bytesanzahl schön formatieren"}} javascript/comp_ops -.-> lab-28554{{"Bytesanzahl schön formatieren"}} javascript/cond_stmts -.-> lab-28554{{"Bytesanzahl schön formatieren"}} javascript/array_methods -.-> lab-28554{{"Bytesanzahl schön formatieren"}} end

Bytes in einen menschenlesbaren String umwandeln

Um eine Zahl in Bytes in einen menschenlesbaren String umzuwandeln, verwenden Sie die Funktion prettyBytes(). Hier sind einige Dinge, die Sie beachten sollten:

  • Die Funktion verwendet ein Array-Wörterbuch von Einheiten, das basierend auf dem Exponenten zugegriffen werden kann.
  • Sie können das zweite Argument, precision, verwenden, um die Zahl auf eine bestimmte Anzahl von Stellen zu kürzen. Der Standardwert ist 3.
  • Sie können das dritte Argument, addSpace, verwenden, um einen Leerraum zwischen der Zahl und der Einheit hinzuzufügen. Der Standardwert ist true.
  • Die Funktion gibt den aufgeräumten String zurück, indem sie ihn aufbaut, wobei die angegebenen Optionen und ob die Zahl negativ ist oder nicht berücksichtigt werden.

Hier ist der Code für die Funktion prettyBytes():

const prettyBytes = (num, precision = 3, addSpace = true) => {
  const UNITS = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
  if (Math.abs(num) < 1) return num + (addSpace ? " " : "") + UNITS[0];
  const exponent = Math.min(
    Math.floor(Math.log10(num < 0 ? -num : num) / 3),
    UNITS.length - 1
  );
  const n = Number(
    ((num < 0 ? -num : num) / 1000 ** exponent).toPrecision(precision)
  );
  return (num < 0 ? "-" : "") + n + (addSpace ? " " : "") + UNITS[exponent];
};

Und hier sind einige Beispiele für die Verwendung der Funktion prettyBytes():

prettyBytes(1000); // '1 KB'
prettyBytes(-27145424323.5821, 5); // '-27.145 GB'
prettyBytes(123456789, 3, false); // '123MB'

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Pretty-Print Number of Bytes" abgeschlossen. Sie können in LabEx weitere Labs üben, um Ihre Fähigkeiten zu verbessern.