Подтвердить что ты не робот

Как преобразовать String, содержащую Scientific Notation, для исправления формата Javascript

У меня есть строка, например: "4.874915326E7". Каков наилучший способ конвертировать его в формат номера javascript? (int или float)? если я пытаюсь parseInt(), E в конце игнорируется.

4b9b3361

Ответ 1

Изменить:

Этот ответ, кажется, вызывает некоторую путаницу. Первоначальный вопрос заключался в том, как преобразовать научную нотацию в форме строки в число (чтобы ее можно было использовать для расчета). Тем не менее, значительное количество людей, которые находят этот ответ, похоже, думают о том, чтобы преобразовать число, представленное javascript, в научную запись в более презентабельный формат. Если это на самом деле ваша цель (презентация), то вместо этого вы должны конвертировать число в строку. Обратите внимание, что это означает, что вы не сможете использовать его в расчетах так легко.

Оригинальный ответ:

Передайте его как строку в функцию Number.

Number("4.874915326E7") // returns 48749153.26
Number("4E27") // returns 4e+27

Преобразование числа в научной нотации в строку:

На этот вопрос лучше всего ответить другим вопросом, но из этого вопроса мне лично нравится решение, использующее .toLocaleString(). Обратите внимание, что это конкретное решение не работает для отрицательных чисел. Для вашего удобства вот пример:

(4e+27).toLocaleString('fullwide', {useGrouping:false}) // returns "4000000000000000000000000000"

Ответ 2

Попробуйте что-то вроде этого

Демо

Number("4.874915326E7").toPrecision()

Ответ 3

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

+"4.874915326E7" // == 48749153.26