У меня есть проект в Yii2, который использует библиотеку PHPExcel для чтения файла Excel. У меня есть Идентификатор транзакции столбец, содержащий данные в Общие сведения формат ячейки. Screenshoot моего файла Excel: PHP: Как получить данные в виде строкового формата из данных Excel с научной нотацией/экспоненциальным форматом?
Вы можете видеть выше, если вход 15 знаков числа и поставить две точки внутри него. Он будет отображаться как номер.
Первый Ex: вход => 800.003.151476962 в ячейке показали, как и в Formula Bar показал, как
Но если входные 15 символов числа без точек внутри его будет отображаться как Научные обозначения/экспоненциальные.
Второй Ex: вход => 800003151476925 в ячейке показали, как =>Scientific Notation/экспоненциальной формат данных и в Formula Bar показал, как
Когда я пытаясь прочитать данные на моем PHP, мой PHP будет читать Второй пример данные как Scientific Notation/Exponential формат не как строка/число/десятичный знак.
Как я могу получить Second Ex данных в качестве (без строки материи или номера или десятичного формата) не 8.00003E + 14 в моем PHP?
Спасибо :)
ПРИМЕЧАНИЕ: На самом деле я прочитал и попробовать предложение в Convert exponential to a whole number in PHP, Convert exponential number to decimal in php, Convert exponential number to decimal in php, но я ничего не получил.
Спасибо за знания :) Не может использовать ваш код выше только для записи файла Excel? – Blackjack
Если вы читаете значение, то оно слишком велико для целого числа в 32-битном PHP и будет отображаться в научном формате в любом случае даже с 64-битным PHP, если вы просто эхо его (не имеет ничего общего с PHPExcel, просто базовым PHP). используйте функции '' sprintf() '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '', чтобы отображать его как целое число –
Даже если ваше предложение не работает для моего дела, по крайней мере, я получаю новые знания, которые могут быть полезны в следующий раз. Спасибо: D Я пробовал отображать в виде строки с помощью 'sprintf', но он отображает строку ** 8.00003E + 14 ** в качестве строки, а не ** 800003151476922 ** как строку – Blackjack