Ustawienie "decimal symbol"

0

Witam

Czy istnieje jakaś możliwość aby aplikacja nie korzystała z ustawionych w opcjach regionalnych informacji o "decimal symbol".

Chodzi o to, że w czasie przeliczania, kiedy przykładowo robię takie parsowanie:

double x1 = Double.Parse(textBox_X1.Text);

a w polu parsowania mam liczbę powiedzmy: 99.90
to jeśli jako "decimal symbol" mam ustawiony przecinek to aplikacja się wysypuje.

Najlepiej by było gdyby dla całej aplikacji można było ustawić własny symbol.

0

Ew. System.Globalization, a pozniej podajesz NumberFormatInfo.

//edit
Zreszta pewnie na to wlasnie zwraca uwage Misiekd

0
http://msdn2.microsoft.com/en-us/library/system.double.parse.aspx

Ale jeśli dobrze rozumiem musiałbym wtedy przy każdym Parse z osobna dopisywać jaki ma być znak.
Wolałbym zmienić w jednym miejscu i mieć spokój.

Ew. System.Globalization, a pozniej podajesz NumberFormatInfo.
Kombinowałem coś z tym, ale nie wiem gdzie dokładnie powinienem to określić.

Próbowałem na samym początku w main zdefiniować:

        static void Main()
        {
            System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator = ".";
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Main());
        }

ale wywala mi wtedy wyjątek, że "Instance is read-only."

Będę wdzięczny za kolejne wskazówki

0
using System.Globalization;

...

CultureInfo = new CultureInfo();
CultureInfo.CurrencyDecimalSeparator = ".";

Pisane z pamieci, moge sie sporo myslic. W kazdym razie idziesz w dobrym kierunku, ale musisz stworzyc nowe CultureInfo, zeby sobie tam ustawic takie jakie chcesz.

0

Próbowałem stworzyć zmienną tak jak napisałeś i co prawda poszło, ale nie wiem jak to przypisać do całej aplikacji...

Kombinowałem później tak:

Application.CurrentCulture.NumberFormat.CurrencyDecimalSeparator = ".";

Wydaje mi się, że właśnie do "Application" trzeba przypisać tą kropkę. Jakieś inne propozycje? :/

0

Ale po co chcesz przypisywac do calej aplikacji? Mozesz uzywac swojego CultureInfo i olac Current.

Ale jesli chcesz, to wystarczy dokladniej przeczytac msdn:

msdn napisał(a)

Application.CurrentCulture
...
Gets or sets the culture information for the current thread.

1 użytkowników online, w tym zalogowanych: 0, gości: 1