Prosty kalkulator – niemożność dodania licz zmiennoprzecinkowych

0

Mam napisany krótki program kalkulatora. Ogólnie działa, ale istnieje w nim problem, który polega na tym, że:
A. Nie mogę dodać liczby zmiennoprzecinkowej do siebie np 4.5+5 lub 4.5 +5.6, wrzuca exception, chodź tym zmiennych to double?
B. Nie mogę stworzyć wartości 0.1, po kliknięciu 0 > kropka znika pierwsza wartość
Kod:
http://wklejto.pl/310720
http://www.wklejto.pl/310722

Proszę o wskazówki

0

No bo u nas w Polsze separatorem jest przecinek, więc jak chcesz używać zapisu z kropką to do metody Double.Parse musisz przekazać obiekt IFormatProvider, który informuje jaki format ma mieć wejściowy ciąg, jak tego nie będzie to wywala błąd, więc musisz zastosować taki kod

System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
Double.Parse("4.5", nfi);

Co do pkt. B to nie wiem o co chodzi, napisz to tak, żeby szło to zrozumieć

@viamarimar wcześniej zapomniałem w tym kodzie przekazać ten utworzony obiekt do tej metody Parse. Teraz jest poprawione.

0

Ewentualnie

string input = "555.56456";
double val1 = Convert.ToDouble(input , CultureInfo.InvariantCulture);
Console.WriteLine(val1);

o CultureInfo
https://msdn.microsoft.com/en-us/library/4c5zdc6a(v=vs.100).aspx
http://blogprogramisty.net/cultureinfo-w-c/

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