Advertisement
Savelyev_Vyacheslav

mony format

Nov 10th, 2023
782
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   _formatNumber(input1, formatType = 3) {
  2.       // console.log(formatNumber(300000000.222, 1)); // "300 000 000"
  3.       // console.log(formatNumber('300000000.222', 2)); // "300 000 000.22"
  4.       // console.log(formatNumber(300000000.56789, 3)); // "300 000 000,57"
  5.       // console.log(formatNumber('300000000.56789', 4)); // "300000000.57"
  6.       // console.log(formatNumber('300000000.56789', 5)); // "300000000"
  7.       // Преобразование входного значения в число
  8.       const number = typeof input1 === 'number' ? input1 : parseFloat(input1);
  9.  
  10.       // Проверка, является ли преобразованное значение числом
  11.       if (isNaN(number)) {
  12.           return 'Неверный ввод';
  13.       }
  14.  
  15.       switch (formatType) {
  16.           case 1:
  17.               // Формат с разделителями групп без десятичных знаков
  18.               return number.toLocaleString('ru-RU', { maximumFractionDigits: 0 });
  19.           case 2:
  20.               // Формат с разделителями групп и двумя десятичными знаками, но без округления
  21.               return number.toLocaleString('ru-RU', { maximumFractionDigits: 2, minimumFractionDigits: 2 });
  22.           case 3:
  23.               // Формат с разделителями групп и запятой в качестве десятичного разделителя, округление до двух десятичных знаков
  24.               return number.toLocaleString('ru-RU', { maximumFractionDigits: 2 });
  25.           case 4:
  26.               // Формат без разделителей групп и с точкой в качестве десятичного разделителя, округление до двух десятичных знаков
  27.               return number.toFixed(2);
  28.           case 5:
  29.               // Формат без разделителей групп и без точки
  30.               return number.toFixed(0);
  31.           default:
  32.               // Формат с разделителями групп и запятой в качестве десятичного разделителя, округление до двух десятичных знаков
  33.               return number.toLocaleString('ru-RU', { maximumFractionDigits: 2 });
  34.       }
  35.   }
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement