Форматирование чисел, из 100 000 000, сделать 100млн

Как можно сделать форматирование чисел?

Например, если в переменной число 1 000 000(миллион) то выводит 1млн
Если в переменной число 100 000(сто тысяч), то выводит 100тыс и т.д.

Ни как не могу найти примеры данного решения, буду рад вашей помощи.


Ответы (1 шт):

Автор решения: SwaD

Функция форматирования чисел к млрд, млн, тыс в общем виде:

/**
 * @param {number} num
 * @return {string}
 */
function formatter(num) {
  if (num > 1000000000) {
    return (num / 1000000000).toFixed(2) + ' млрд'
  } else if (num > 1000000) {
    return (num / 1000000).toFixed(2) + ' млн'
  } else if (num > 1000) {
    return (num / 1000).toFixed(2) + ' тыс'
  }
  return num.toString();
}

console.log(formatter(79894372947239423))
console.log(formatter(79894372947233))
console.log(formatter(7989437294))
console.log(formatter(798943423))
console.log(formatter(79894323))
console.log(formatter(7989423))
console.log(formatter(798423))
console.log(formatter(79823))
console.log(formatter(793))

В зависимости от самой задачи, можно не выводить дробную часть.
Можно реализовать проверку, что если остатка нет, то не показывать 0.

→ Ссылка