ungewollte formatierung beim erstellen einer .csv datei
-
ich wandle folgenden code in eine .csv datei um:
#include <stdio.h> #include <stdlib.h> #define WOCHEN 4 #define TAGE 7 float stand[WOCHEN][TAGE] = { {13.7f,13.8f,14.1f,12.2f,15.4f,16.5f,14.3f}, {15.4f,13.6f,13.6f,14.6f,15.6f,16.3f,19.5f}, {20.5f,20.4f,21.5f,23.4f,21.4f,23.5f,25.7f}, {25.5f,26.6f,24.3f,26.5f,26.9f,23.6f,25.4f}}; int main(void) { int i, j; printf("Tag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag;Sonntag"); for(i = 0; i < WOCHEN; i++) { printf("\nWoche%d;",i); for(j = 0; j < TAGE; j++) { printf("%.2f;",stand[i][j]); } } return EXIT_SUCCESS; }
Wenn ich die datei nun mit exel öffne wird der 3.(14.1f) und 4.(12.2f) wert in der woche0 automatisch in ein datum umgewandelt:
14.1 wird nicht 14.10 sondern 14. oktober
12.2 wird nicht 12.20 sondern Dez 20die logik dahinter versteh ich schon, aba nicht warum er das umwandelt. wenn ich nun versuche das zellenformat auf standart zu stellen wie bei den anderen, kommt beim ersten 40100 raus und beim anderen 44166. Kann mir jemand sagen warum das automatisch umgewandelt wird und wie ich das verhindern kann??
-
^^ offensichtlich interpretiert das doofe excel einträge der form 'a.b' als datum, wenn 0<a<32 und 0<b<13 sind. versuchs mal mit komma statt punkt oder nimm alles mal 10. irgendwie muss es sich ja austricksen lassen.
-
Stell das Windows-Dezimaltrennzeichen auf den Punkt um. Anders kann man auf Dauer nicht leben, wenn man solche Sachen macht.