JavaScript: преобразовать число в байтах в удобочитаемую строку
Основы JavaScript (синтаксис ES6): упражнение 163 с решением
Напишите программу на JavaScript для преобразования числа в байтах в удобочитаемую строку.
Примечание. Используйте словарь массивов единиц, к которым необходимо обращаться в зависимости от показателя степени.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Convert a number in bytes to a human-readable string</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
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];
};
console.log(prettyBytes(1000));
console.log(prettyBytes(-27145424323.5821, 5));
console.log(prettyBytes(123456789, 3, false));
Пример вывода:
1 КБ -27,145 ГБ 123 МБ
Иллюстрированная презентация:
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-163-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript для преобразования асинхронной функции в возвращаемое обещание.
Далее: Напишите программу на JavaScript, которая будет возвращать форму слова в единственном или множественном числе на основе введенного числа.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования