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.

автор: Bond

Нотатка

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

автор: Bond
Нотатка

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

автор: Bond
Нотатка

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

автор: Bond

Синтаксис

toExponential()
toExponential(fractionDigits)

Параметри

fractionDigits

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

автор: Bond

Повернення

string

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

автор: Bond

Винятки

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

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

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 2 7 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
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
автор: Bond

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

автор: Bond

У цьому прикладі ми створюємо функцію 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"]
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід