Для вывода числа в сокращенном формате в JavaScript можно использовать функцию toLocaleString
. Эта функция преобразует число в строку с разделителями (, для тысяч, точка для десятичной части), а также добавляет сокращенное представление числа с указанием единицы измерения.
Вот пример, показывающий как использовать toLocaleString
для сокращенного формата числа:
let number = 1234567; // Определение единицы измерения let units = ['K', 'M', 'B', 'T']; // Определение функции для форматирования числа в сокращенный формат function formatNumber(number) { // Находим степень числа (например, 1000^0 = 1, 1000^1 = 1000 и т.д.) let exponent = Math.floor(Math.log10(number) / 3); // Делим число на степень единицы измерения let formattedNumber = (number / Math.pow(1000, exponent)).toLocaleString(undefined, { maximumFractionDigits: 2 }); // Добавляем соответствующую единицу измерения formattedNumber += units[exponent - 1]; return formattedNumber; } // Выводим число в сокращенном формате console.log(formatNumber(number)); // Результат: "1.23M"
В этом примере мы определили массив units
, содержащий сокращенные обозначения единиц измерения (тысячи, миллионы, миллиарды и триллионы). Затем мы создали функцию formatNumber
, которая принимает число и возвращает его в сокращенном формате.
Внутри функции мы используем функцию Math.log10
для определения степени числа (какой степени числа 1000 соответствует данное число). Затем мы делим число на степень 1000 и применяем функцию toLocaleString
для форматирования числа с разделителями и указанием максимального количества знаков после запятой.
Наконец, мы добавляем соответствующую единицу измерения к отформатированному числу и возвращаем его из функции.
В результате на консоль будет выведено сокращенное представление числа: "1.23M" (M означает миллионы).