Dezimalpunkt an Stelle von Dezimalkomma benötigt
-
Hallo zusammen,
wie kann ich in Visual C++ einen Dezimalpunkt erzwingen?
sprintf("%s", doubleSignal);
Beispielausgabe unter GCC: 10.2 (richtig ich brauche einen Punkt)
Beispielausgabe unter VisualC++: 10,2 (falsch!!!)Grüße, Kevin
-
Hallo zusammen,
die folgende Routine lößt das Problem:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char str[] = "Das ist ein Punkt: ,."; printf("\n%s\n", str); int len = strlen(str); int i; for (i=0; i<len; i++) { if(str[i]==44) { str[i]=46; } } printf("\n%s\n", str); return EXIT_SUCCESS; }
Hab´s mal wieder selber rausbekommen...
-
Ein wenig eleganter gehts vielleicht mit std::locale. Ich hatte das gleiche Problem nur umgekehrt. Gelöst hab ichs dann so:
out1.imbue(std::locale("german"))
-
bob.george schrieb:
Ein wenig eleganter gehts vielleicht mit std::locale. Ich hatte das gleiche Problem nur umgekehrt. Gelöst hab ichs dann so:
out1.imbue(std::locale("german"))
Hi,
wo müsste man das einfügen?
Wenn die Lösung funktionier ist das doch ansehnlicher.
gruß
-
nkler schrieb:
bob.george schrieb:
Ein wenig eleganter gehts vielleicht mit std::locale. Ich hatte das gleiche Problem nur umgekehrt. Gelöst hab ichs dann so:
out1.imbue(std::locale("german"))
Hi,
wo müsste man das einfügen?
Wenn die Lösung funktionier ist das doch ansehnlicher.
grußNaja out1 ist der Name des Ausgabstreams. Also erst diesen definieren und dann das locale.
-
Du musst die locale-Einstellungen auf deinen gewünschten Wert stellen, also z.B.
#include <locale.h> #include <stdio.h> int main() { setlocale(LC_ALL, "C"); printf("\n Standard-Locale: %f",3.141); setlocale(LC_ALL, "German"); printf("\n Deutsch-Locale: %f",3.141); return 0; }