Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS метод Number.toExponential()

Загальний опис

Метод Number.prototype.toExponential() дозволяє представити число у експоненційному форматі, що особливо корисно при роботі з дуже великими чи дуже малими числами. В основі його застосування лежить потреба в точному або спрощеному представленні чисел у наукових розрахунках або в інженерії.

Використання методу просте: він приймає один опціональний параметр — кількість знаків після десяткової коми. Він повертає рядкове представлення числа у форматі "m.e+n" або "m.e-n", де "m" - це мантіса, а "e±n" - це експонента.

Розглянемо кілька прикладів:

  1. Основний варіант використання:

    let num = 12345.6789;
    console.log(num.toExponential()); // "1.23456789e+4"
    
  2. Визначення кількості знаків після коми:

    let num = 12345.6789;
    console.log(num.toExponential(2)); // "1.23e+4"
    console.log(num.toExponential(6)); // "1.234568e+4"
    

Додатково, варто знати, що якщо передане значення знаків після коми вийде за межі від 0 до 20, виникне виключення RangeError.

Нотатка:

Якщо ви викликаєте метод Number.prototype.toExponential() без аргументів, він автоматично вибере кількість цифр після десяткової крапки на основі числа. Наприклад: (1234.56).toExponential() поверне рядок "1.23456e+3".

Нотатка:

Ви можете вказати, скільки знаків після коми вам потрібно в експоненціальному представленні, передавши ціле число від 0 до 20 у якості аргументу. Наприклад: (1234.5678).toExponential(2) поверне рядок "1.23e+3".

Нотатка:

У випадку дуже великих або дуже малих чисел, експоненціальне представлення є ідеальним способом відображення числа, так як це дозволяє уникнути довгих рядків нулів.

Синтаксис

toExponential()
toExponential(fractionDigits)

Параметри

fractionDigits

Ціле число, яке вказує кількість знаків після десяткової коми. За замовчуванням використовує стільки знаків, скільки потрібно для вказівки числа.

Return

string

Повертає рядок, який представляє заданий об'єкт Number у експоненційному запису. У цьому записі завжди присутній один знак перед десятковою комою, а після коми розміщується число знаків, вказане у параметрі fractionDigits. Якщо fractionDigits не вказано, число буде округлено до найближчого значення.

Exception

RangeError: якщо fractionDigits не є числом в межах від 0 до 100 (включно).

TypeError: якщо цей метод викликаний для об'єкта, який не є числом (Number).

Переглядачі

Переглядач

1

1

2

7

12

Переглядач

4.4

18

4

1

Переглядач

0.10.0

1.0

Приклади


Користувач може ввести число та вибрати, скільки десяткових знаків він бажає вивести після конвертації в експоненційний формат. Після натискання кнопки результат відображається на сторінці.

У цьому прикладі ми використовуємо метод toExponential() для конвертації числа 12345.6789 у його експоненційну форму. Результатом буде рядок "1.23456789e+4", де "e+4" вказує на те, що число треба помножити на 10 в четвертому степені для отримання оригінального числа.

let num = 12345.6789;
let exponentialForm = num.toExponential();

console.log(exponentialForm);  // 1.23456789e+4

У цьому прикладі ми створюємо функцію convertToExponential, яка приймає масив чисел та кількість десяткових знаків, які мають бути у експоненційній формі. Всередині функції використовується метод map() для перетворення кожного числа у масиві в його експоненційний вигляд з вказаною кількістю десяткових знаків. У результаті отримуємо новий масив, де кожне число представлено у форматі експоненції з двома десятковими знаками.

function convertToExponential(arrayOfNumbers, fractionalDigits) {
  return arrayOfNumbers.map(num => num.toExponential(fractionalDigits));
}

let numbers = [123.456, 0.00789, 7890];
let convertedNumbers = convertToExponential(numbers, 2);

console.log(convertedNumbers); // ["1.23e+2", "7.89e-3", "7.89e+3"]