Hallo,
ich bin gerade auf ein Problem mit Windows 10 2004 gestoßen. Hier ist anscheinend der Dezimalseperator in der Region de-DE als Punkt und nicht als Komma hinterlegt. Das führt leider dazu das in einem meiner Programme die Umwandlung von String in Zahlen manchmal fehlschlägt. Wie ist damit am besten umzugehen?
Hier ein kurzer Code im das zu testen:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestRegionalSettings
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("CultureInfo of this system:");
Console.WriteLine("Region : " + System.Globalization.CultureInfo.CurrentCulture.ToString()); //de-DE in my Case
Console.WriteLine("Decimal separator: " + System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator); //should be "," in de-DE but is "." on Win10 2004
#if DEBUG
Console.WriteLine("Press enter to close...");
Console.ReadLine();
#endif
}
}
}
de-DE hat ganz normal ein Komma als Separator.
Mein Output Deines Codes - auf Win 10 2004:
CultureInfo of this system:
Region : de-DE
Decimal separator: ,
Press enter to close...
Haste evtl. ne Customization der Region Settings?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für den Test. Ich habe hier zwei Rechner welche plötzlich dieses Problem haben.
Das habe ich auch schon kontrolliert. Zumindest in der GUI wird ganz normal ein Dezimalkomma angezeigt.
Bitte keine Full Quotes
[Hinweis] Wie poste ich richtig?
Ich habe gerade noch einen Rechner mit 1903 gefunden mit diesem Problem. Scheint doch nicht 2004 spezifisch zu sein.
Hallo ChilliShelly
Das hängt mit sehr hoher Wahrscheinlichkeit mit den Regional-Einstellungen auf den jeweiligen Rechnern zusammen. Check das doch mal.
Gruß
Alf