Ich schreibe ein Perl/Tk-Skript, das Excel-Arbeitsblätter mit dem Beispielskript ss2tk aus dem Modul Spreadsheet :: Read anzeigt. Es werden nicht zwei Nachkommastellen abgerundet, sondern die Funktion von Spreadsheet::XLSX::Utility2007 wird auf zwei Dezimalstellen abgerundet. Warum? Ich versuche, diese zweite Funktion als eine Funktion meines Programms zu verwenden, um die Konvertierung der angezeigten Arbeitsblätter in CSV-Dateien anzubieten.Warum rundet Spreadsheet :: XLSX :: Utility2007 xls2csv auf zwei Dezimalstellen?
Antwort
Ich sehe, Sie konnten get an answer bei PerlMonks mit Hilfe von frieduck (irgendeine Beziehung zu friedo?), So dass ich es für SO Leute verknüpfen verknüpfen.
Zusammenfassend stellte sich heraus, dass die Interna von Spreadsheet::XLSX::Utility2007 beim Abrufen der Zellenwerte automatisch ein 2-Dezimalstellenformat anwendeten. Die beiden vorgeschlagenen Lösungen waren:
- Changing the way the module generates cell types (lassen Sie sie alle als Standard behandeln), indem Sie die XLSX-Interna modifizieren.
- Changing the way the module treats the cells loaded from the spreadsheet (behandelt sie mit dem unformatierten Wert aus der ursprünglichen Tabelle), auch durch Ändern der Interna.
So oder so, es wurde auch erwähnt, dass Sie wahrscheinlich am besten sein würde eine local
Unter aus der Definition des modifizierten Verhalten zu tun durchführen, so dass es keine bösen Überraschungen ändert das Modul an Ort und Stelle zur Folge hat.
Es scheint, dass Frieduck ** keine ** Beziehung zu Friedo hat. –
- 1. NSNumberFormatter rundet nur auf 3 Dezimalstellen
- 2. Entity Framework rundet auf zwei Dezimalstellen, wenn alles für vier Dezimalstellen festgelegt ist
- 3. MS Access rundet SQL-Dezimalstellen ab
- 4. Format auf zwei Dezimalstellen
- 5. Rundungszahl auf zwei Dezimalstellen
- 6. Warum jQuery Werte rundet?
- 7. Runde doppelt auf zwei Dezimalstellen
- 8. einen Schwimmer auf ### ## (zwei Dezimalstellen)
- 9. Runde 2 Dezimalstellen in einer Multiplikation php rundet nicht
- 10. Warum rundet DateTime.AddDays auf die nächste Millisekunde auf?
- 11. Unfähigkeit, Spreadsheet :: ParseXLSX oder Spreadsheet :: XLSX mit ppm mit ActivePerl v5.22.1 zu installieren
- 12. Eingabefeld auf zwei Dezimalstellen beschränken mit jQuery
- 13. Rundung auf zwei Dezimalstellen in der Oktave
- 14. Rundung auf zwei Dezimalstellen in Python 2.7?
- 15. Formatieren Sie einen Float auf zwei Dezimalstellen
- 16. Formatieren von einem Doppel auf zwei Dezimalstellen
- 17. Grenze ein Doppel auf zwei Dezimalstellen
- 18. Wie richte ich auf zwei Dezimalstellen?
- 19. Rundung eine Variable auf zwei Dezimalstellen C#
- 20. Zwei Dezimalstellen mit C#
- 21. Importieren von kennwortgeschützten xlsx-Arbeitsmappen in R
- 22. Eingabefilter - Regex für zwei Dezimalstellen
- 23. Excel Zahlen mit zwei Dezimalstellen
- 24. Immer mindestens zwei Dezimalstellen anzeigen
- 25. Google Spreadsheet COUNTIF Formel entspricht zwei Kriterien
- 26. EPPlus rundet eine große Zahl auf
- 27. Magento rundet £ 0.01p runter auf insgesamt
- 28. Wie man eine Dezimalzahl richtig rundet und formatiert?
- 29. Rundung von BigDecimal auf * immer * habe zwei Dezimalstellen
- 30. Begrenzen Sie ein Doppel auf zwei Dezimalstellen ohne nachfolgende Nullen
Diese Frage ist zu kompliziert. Können Sie das Problem auf ein kurzes Code-Snippet reduzieren und das posten? Oder zumindest auf das Beispielskript und/oder das CPAN-Modul perldoc verlinken? –
Auch hier gepostet: http://www.mahalo.com/answers/programming/in-perl-the-xls2csv-function-from-spreadsheetxlsxutility2007-rounds-off-to-two-decimal-places-why –
Haben Sie gefragt der Autor des Moduls? – Schwern