Клавиша / esc

.toExponential()

Метод преобразует число в строковое представление числа в экспоненциальной записи.

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод toExponential() объекта Number используется для преобразования числа в строку в экспоненциальной (научной) нотации.

Пример

Скопировано
        
          
          // Пример большого числаconst largeNumber = 860000000000000000000console.log(largeNumber.toExponential())// "8.6e+20"
          // Пример большого числа
const largeNumber = 860000000000000000000

console.log(largeNumber.toExponential())
// "8.6e+20"

        
        
          
        
      

Как пишется

Скопировано

Метод toExponential() объекта Number имеет необязательный аргумент fractionDigits, который определяет количество цифр после десятичной точки.

Если аргумент fractionDigits не указан, то по умолчанию используется минимальное количество цифр, необходимое для представления числа в экспоненциальной форме.

Значение аргумента должно находиться в диапазоне от 0 до 100, иначе метод бросит ошибку RangeError.

Метод возвращает строку.

        
          
          const num = 123456console.log(num.toExponential())// "1.23456e+5"console.log(num.toExponential(2))// "1.23e+5"
          const num = 123456

console.log(num.toExponential())
// "1.23456e+5"

console.log(num.toExponential(2))
// "1.23e+5"

        
        
          
        
      

☝️ Вызвать метод toExponential() можно и для числового литерала. Если число не содержит десятичную точку, добавьте точку или пробел после числа:

        
          
          console.log(1234..toExponential())// 1.234e+3console.log(1234 .toExponential())// 1.234e+3
          console.log(1234..toExponential())
// 1.234e+3

console.log(1234 .toExponential())
// 1.234e+3

        
        
          
        
      

Как понять

Скопировано

Иногда числа в их стандартной форме занимают больше памяти, чем строки. Это особенно актуально, когда нужно передавать очень большие или очень маленькие числа по сети. Например, при работе с транзакциями в блокчейне, где важно минимизировать объем передаваемых данных.

Чтобы сократить использование памяти, числа можно представить в экспоненциальной записи. Это переводит числа в компактную форму.

💡 Метод toExponential() не добавляет символ экспоненты для «особенных» чисел. Например:

        
          
          const num1 = Number.POSITIVE_INFINITYconst num2 = NaNconsole.log(num1.toExponential())// Infinityconsole.log(num2.toExponential())// NaN
          const num1 = Number.POSITIVE_INFINITY
const num2 = NaN

console.log(num1.toExponential())
// Infinity
console.log(num2.toExponential())
// NaN