Human-readable bytes formatting in JavaScript (TypeScript)

Human-readable bytes formatting in JavaScript (TypeScript)

by Slava Fomin II

HTML

<p id="output"></p>

TypeScript

const output = document.getElementById('output');

output.innerHTML = JSON.stringify(convertBytes(850055624678));


function convertBytes(value: number): {
  value: number,
  unit: string
} {
  const units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB'];
  let i = 0;
  while (value > 1000 && i < units.length - 1) {
    value /= 1000;
    i++;
  }
  return { value, unit: units[i] };
}