Ich habe ein Projekt in Yii2, das PHPExcel-Bibliothek zum Lesen einer Excel-Datei verwendet. Ich habe eine Transaktions-ID Spalte, die Daten in Allgemeine Format Zelle enthalten. Screen meiner Excel-Datei: PHP: Wie kann ich Daten als String-Format aus Excel-Daten mit wissenschaftlicher Notation/exponentiellem Format erhalten?
Sie oben sehen, wenn ich Eingabe 15 Zeichen der Nummer und legte zwei Punkte in seinem Inneren. Es wird als Nummer angezeigt.
Erste Ex: Input => 800.003.151476962 in Zelle zeigte als und in Formula Bar zeigte als
Aber wenn Eingang 15 Zeichen der Nummer ohne Punkte nach innen, es wird als Scientific Notation/Exponential angezeigt.
Zweite Ex: Input => 800003151476925 in Zelle zeigte als =>Wissenschaftliche Notation/Exponential Datenformat und in Formula Bar als zeigte
Wenn ich versuchen, die Daten in meinem PHP zu lesen, liest mein PHP die Sekunde Ex Daten als Scientific Notation/Exponential Format nicht als String/Zahl/Dezimal.
Wie kann ich die Zweite Ex Daten als (egal String oder eine Zahl oder Dezimal-Format) erhalten nicht 8.00003E + 14 in meinem PHP?
Thanks :)
HINWEIS: Eigentlich habe ich gelesen, und versuchen Vorschlag in Convert exponential to a whole number in PHP, Convert exponential number to decimal in php, Convert exponential number to decimal in php aber ich habe nichts.
Danke für das Wissen :) Hat nicht der Code oben nur verwenden kann schreiben eine Excel-Datei? – Blackjack
Wenn Sie den Wert lesen, ist er für eine ganze Zahl in 32-Bit-PHP zu groß und wird sogar mit 64-Bit-PHP im wissenschaftlichen Format angezeigt, wenn Sie ihn einfach wiedergeben (nichts mit PHPExcel zu tun, nur grundlegend) PHP). Verwenden Sie 'sprintf()' oder 'number_format()' -Funktionen von PHP, um es als Integer anzuzeigen –
Auch wenn Ihr Vorschlag für meinen Fall nicht funktioniert hat, kann ich zumindest neues Wissen beim nächsten Mal nützlich finden. Danke: D Ich habe versucht, die Anzeige als Zeichenfolge mit 'sprintf', aber es zeigt die ** 8.00003E + 14 ** als Zeichenfolge, nicht ** 800003151476922 ** als Zeichenfolge – Blackjack