У меня есть строка, например: "4.874915326E7". Каков наилучший способ конвертировать его в формат номера javascript? (int или float)? если я пытаюсь parseInt(), E в конце игнорируется.
Как преобразовать String, содержащую Scientific Notation, для исправления формата Javascript
Ответ 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