eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPorównywanie liczb, double float › Re: Porównywanie liczb, double float
  • X-Received: by 2002:a81:10f:: with SMTP id 15mr27559021ywb.498.1560343626731; Wed, 12
    Jun 2019 05:47:06 -0700 (PDT)
    X-Received: by 2002:a81:10f:: with SMTP id 15mr27559021ywb.498.1560343626731; Wed, 12
    Jun 2019 05:47:06 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin2!goblin1!goblin.stu.neva.ru!j96no422480qte.0!news-out.google.com!33ni110qt
    t.0!nntp.google.com!j96no422479qte.0!postnews.google.com!glegroupsg2000goo.goog
    legroups.com!not-for-mail
    Newsgroups: pl.misc.elektronika
    Date: Wed, 12 Jun 2019 05:47:06 -0700 (PDT)
    In-Reply-To: <qdqqh6$n2f$1@dont-email.me>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=153.19.49.104;
    posting-account=IbYA7woAAABvc1iLJW1qEPhxazrH_YNX
    NNTP-Posting-Host: 153.19.49.104
    References: <qdqqh6$n2f$1@dont-email.me>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <1...@g...com>
    Subject: Re: Porównywanie liczb, double float
    From: Wojciech Piechowski <p...@g...com>
    Injection-Date: Wed, 12 Jun 2019 12:47:07 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:743694
    [ ukryj nagłówki ]

    W dniu środa, 12 czerwca 2019 14:17:44 UTC+2 użytkownik Pszemol napisał:

    > Dlaczego konwersja CDbl stringu 31 lub 32.8 dodaje jakieś
    > śmieci do zmiennej double float na 15 miejscu po przecinku??
    > A może odejmowanie stałej 1.8 wprowadza ten błąd?
    >
    > Czy to jest normalne zachowanie się VB6?
    >
    > Czy inne Visuale jak VC++ lub VC# też tak mają?

    Mniej więcej wszystko tak ma. "Normalne" typy zmiennoprzecinkowe (normalne, czyli
    float, double, zapisywane w stałej ilości bitów) odwzorowują liczby z jakąśtam
    dokładnością. Podczas operacji prawie zawsze wprowadza się jakąś odchyłkę.
    Porównywanie takich liczb na równość lub różność to źródło smrodu. Twój fix jest ok,
    to zdrowa praktyka na porównanie liczb zmiennoprzecinkowych: if abs(x-y)<0.00...001
    then...

    WP

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: