Kyle Opublikowano 2 Listopada 2013 Zgłoś Opublikowano 2 Listopada 2013 (edytowane) Witajcie Napisałem program kalkulator, zmieniłem zmienne liczbowe z float, na double i 0,2 x 2 = 0,400000005960464 ... zamiast 0,4. Co może być powodem? Przy float wynik jest prawidłowy. Mam win7 x64, .NET v4.5, CPU i5 2400, kompiluję przy pomocy SharpDevelop 4.3.1 - jeśli może to mieć jakieś znaczenie. Rozwiązałem problem - w dalszej części programu jeszcze operowałem na float ... nie zauważyłem tego (tak to jest jak się dawno pisało program). Po zmianie w pozostałych częściach kodu na double, wyniki są prawidłowe. Edytowane 2 Listopada 2013 przez Kyle Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
_KaszpiR_ Opublikowano 3 Listopada 2013 Zgłoś Opublikowano 3 Listopada 2013 Sugeruje stosowac BigInteger, abys nie trafil na problem, ze ktos da dwie wielkie liczby i bedzie crash. http://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx 1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...