Feststellen ob ',' oder '.' als Trennzeichen eingestellt ist?

DJ_Schorschi

Grünschnabel
hi,

weis jemand ob und wie man festellen kann auf welches Trennzeichen für Flieskommazahlen Windows eingestellt ist. Punkt oder komma....

Ich hab da ein Projekt das Mehrsprachig sein soll. Da muss ich aber beachten ob in dem jeweiligen Land komma oder punkt definiert sind....
Da wäre es toll wenn ich dieses aus den Einstellungen von Windows auslesen könnte und dann dementsprechend nur dieses Trennzeichen erlaube...

Gruss und Danke,
Schorschi.
 
Ich weiß jetzt nicht genau wie man das anstellt.
Aber ließ Dich mal über das Thema CultureInfo ein.
Damit kannst Du z.B. die Schreibweisen der Regionen überprüfen.
Ich danke mal das Das damit auch möglich sein sollte.
Wenn nicht, dann sollte mich mal jemand berichtigen.

MfG cosmo
 
hi,

CultureInfo habe ich mir angehscuat..

kapiere nur nicht ganz wie das soll..

programmiere nicht lang bzw. nicht oft in c#...
hauptsächlich c (Mikrocontroller).

Kann mir da jemand nen Tip geben.

Gruss,
Georg.
 
Code:
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CurrentCulture;
System.Globalization.NumberFormatInfo fi = ci.NumberFormat;
string sep = fi.CurrencyDecimalSeparator;

In der Variable sep steht nun das Trennzeichen drinnen. Viel Spaß.
 
Hallo,
weiß einer von euch, wie ich diese Einstellung ändere?
Ich muss ein CNC skript schreiben, und dafür muss ich zahl mit dezimal-punkt und nicht mit komma ausgeben.
leider hab ich keine ahnung wie ich das anstelle.

gruß
jan
 
Deine Frage ist OT. Daher anwortet warscheinlich auch keiner. Aber hier bitte,
Du kannst dem aktuellen Thread zur Laufzeit eine andere Region zuweisen:
Code:
using System.Globalization;
using System.Threading;
[...]
Thread.CurrentThread.CurrentUICulture = new CultureInfo( "en" );
Dan sollten die Zahlen im englischen Format, also mit dem Punkt als Trennzeichen, angezeigt werden.

Ansonsten mal String.Format anschauen. Damit kannst auch 1000er Trennpunkte anzeigen.
Code:
// nicht getestet
string s = fLength.ToString( "#0,000.00" )
 
Cool, das erste mal das mir hier geantwortet wird :p.
Versteh zwar nicht warum das out-topic sein soll, oder warum überhaupt scheinbar so viele deshalb meinen post ignorieren, aber egal.
Danke für deine Antwort, habe aber inzwischen eine Lösung gefunden.

einfach:

Code:
String.Format(System.Globalization.NumberFormatInfo.InvariantInfo,"{0:0.0}",wert)

eingeben, und schon hat man den Dezimalpunkt.

Vorteil hierbei, dass man nur eine einzelne Anweisung dadurch beeinflußt.

Habe diese Lösung nach ein bißchen mehr googlen in einem anderem Forum gefunden. Frag mich nicht wo genau, habs schon längst wieder vergessen ;P.

Gruß
Jan
 
Hallo Jan!

Na siehste,
Ich ging davon aus das Du was mit Sprachunterstütztung entwickeln musst.
Und da deine Culture sicherlich "de..." sein muss, hast Du keine Möglichkeit
das Format zu überprüfen.
Deshalb der Vorschlag die ThreadCulture gleich umzustellen.
Wieso sollte man sonst das Trennzeichen explizit im englischen Format ausgeben?
War jetzt bestimmt ne Vorgabe oder vielleicht weil Du was
in verschiedenen Sprachen ausgeben musst? Naja, auch egal.

@ :offtopic: :
Das Thema des Threads war nicht "Wie stelle ich das Dezimal-Trennzeichen um?",
sondern wie man feststellt welches eigestellt ist.
Es ist sinnlos für die Nachwelt mehere Themen in einem Thread zu behandeln,
da im Nachhinein das Topic nichts mehr über den Inhalt aussagt.
 

Neue Beiträge

Zurück