NumberGroupSeparator falscher Wert

17/01/2008 - 09:40 von Robert Oberholzer | Report spam
Hallo NG,

Möchte das TausenderTrennzeichen auslesen, bekomme aber einen falschen Wert.

System.Globalization.CultureInfo ci =
(System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture;

Console.WriteLine(ci.Name);
Console.WriteLine(ci.LCID);
Console.WriteLine(nf.CurrencyGroupSeparator);
Console.WriteLine(nf.NumberGroupSeparator);

Mit dieser Abfrage bekomme folgende Werte:
de-CH
2055
,
,

Ich müsste aber anstatt eines Kommas (,) ein Hochkomma (') bekommen.
Was mache ich falsch?

Robert Oberholzer
 

Lesen sie die antworten

#1 Frank Dzaebel
17/01/2008 - 11:20 | Warnen spam
Hallo Robert,

Möchte das TausenderTrennzeichen auslesen, bekomme aber einen falschen Wert.
Mit dieser Abfrage bekomme folgende Werte:
de-CH 2055 , ,
Ich müsste aber anstatt eines Kommas (,) ein Hochkomma (') bekommen.
Was mache ich falsch?



Der User (evtl. Du) kann das Zeichen unter den regionalen
Einstellungen anpassen über Menü:
Systemsteuerung/Regions und Sprachoptionen/Anpassen

Standardmàssig beachtet die CurrentCulture unter .NET
diese Anpassung auch. Wenn Du aber die Original
Standard-Zeichen der Kultur (nicht angepasst)
haben willst, benutze z.B.:

CultureInfo ci = new CultureInfo(Thread.CurrentThread.
CurrentCulture.Name, false);

Übrigens brauchst nicht zu casten:

// CultureInfo ci = new CultureInfo(Thread.CurrentThread.
// CurrentCulture.Name, false);
// Thread.CurrentThread.CurrentCulture = ci;

NumberFormatInfo nf = ci.NumberFormat;
Console.WriteLine("Name=" + ci.Name);
Console.WriteLine("LCID=" + ci.LCID);
Console.WriteLine("CurrencyGroupSeparator=" +
nf.CurrencyGroupSeparator);
Console.WriteLine("NumberGroupSeparator=" + nf.NumberGroupSeparator);


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen