AVENGER Napisano 31 Października 2003 Zgłoś Napisano 31 Października 2003 class bla { public static void main(String args[]) { double liczba; liczba = 0; liczba = 1.4; liczba += 0.2; System.out.println(String.valueOf(liczba));}} I niech ktos mi wytlumaczy dlateczego w wyniku dostaje 1.59999999999, moze matmy niedouczony jestem, ale jak dla mnie to jest 1.6. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
pshem Napisano 31 Października 2003 Zgłoś Napisano 31 Października 2003 sprobuj zmienic typ zmiennej z double na float. ew. poczytaj w manualu na temat klasy String, moze cos ciekawego sie dowiesz. a moze masz wadliwe pentium :wink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...
rcube Napisano 31 Października 2003 Zgłoś Napisano 31 Października 2003 Jest to niedokładność spowodowana reprezentacją liczb zmiennoprzecinkowych w standardzie IEEE i żeby tego uniknąć to raczej trzeba zrobić własny format liczb - właśnie w postaci stringa, ale trzeba by też dorobić działania na tych liczbach... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach More sharing options...