-
X-Received: by 2002:aed:3363:: with SMTP id u90mr4888531qtd.7.1562909275672; Thu, 11
Jul 2019 22:27:55 -0700 (PDT)
X-Received: by 2002:aed:3363:: with SMTP id u90mr4888531qtd.7.1562909275672; Thu, 11
Jul 2019 22:27:55 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6.news.weretis.net
!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.g
iganews.com!nntp.giganews.com!b26no1118578qtq.0!news-out.google.com!g23ni54qtq.
1!nntp.google.com!b26no1118567qtq.0!postnews.google.com!glegroupsg2000goo.googl
egroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 11 Jul 2019 22:27:55 -0700 (PDT)
In-Reply-To: <qe65vo$18po$1@gioia.aioe.org>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=93.174.24.8;
posting-account=FE4hoAoAAADKg8EtnA4bEyQiJf7iqAgV
NNTP-Posting-Host: 93.174.24.8
References: <qdqqh6$n2f$1@dont-email.me> <5d00f035$0$15194$426a74cc@news.free.fr>
<5d011217$0$17348$65785112@news.neostrada.pl>
<qe65vo$18po$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5...@g...com>
Subject: Re: Porównywanie liczb, double float
From: DMR <m...@g...com>
Injection-Date: Fri, 12 Jul 2019 05:27:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 46
Xref: news-archive.icm.edu.pl pl.comp.programming:213676
[ ukryj nagłówki ]> Zamieszcze tu po raz 473 w ciagu 20 lat podstawową formułkę
> (Ba! KANON!)
To ja poprosiłbym o jakiś patent na odporne na zaokrąglenia rozdzielenie części
całkowitej i ułamkowej w zmiennej typu double.
> ponaglenia o pilną zapłatę 0.00PLN
No właśnie.
Przykładowo, muszę zrobić: 12345.6789 zł -> 12345 zł 68 gr
Wiadomo:
double suma, f;
int zlote, grosze;
...
suma += 0.005;
zlote = (int)suma;
f = suma - zlote;
grosze = (int)(f * 100.0);
Problemy mogą pojawić w przypadku wartości praktycznie równych wartościom całkowitym.
Gdyby na skutek jakichś zaokrągleń wartość f okazała się ujemna, to nie ma problemu -
(int) i tak "dociągnie" ją do zera.
Gorzej, gdyby np. suma = 1234.9999999999999997, za to teoretycznie f =
0.9999999999999997 za sprawą zabłąkanego bitu na końcu przeskoczyła na f =
1.0000000000000001.
Wtedy wyjdzie 1234 zł 100 gr...
Chyba, że nie potrzebnie się martwię.
Testowałem to wielokrotnie dla miliardów złośliwie wygenerowanych danych "z
pogranicza" - ani razu się nie wywaliła.
No, ale... :-)
Następne wpisy z tego wątku
- 13.07.19 09:21 AK
- 14.07.19 10:16 DMR
- 16.07.19 00:05 AK
- 22.07.19 09:17 fir
- 22.07.19 09:37 fir
- 22.07.19 09:47 fir
- 22.07.19 10:16 fir
- 22.07.19 17:03 fir
- 22.07.19 17:24 fir
- 22.07.19 21:56 fir
- 24.07.19 19:19 DMR
- 24.07.19 21:13 AK
- 24.07.19 22:39 fir
- 26.07.19 20:35 AK
- 12.01.20 19:17 DMR
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją