-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.
stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.new
s.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "J.F." <j...@p...onet.pl>
Newsgroups: pl.comp.programming,pl.misc.elektronika
References: <qdqqh6$n2f$1@dont-email.me>
In-Reply-To: <qdqqh6$n2f$1@dont-email.me>
Subject: Re: Porównywanie liczb, double float
Date: Wed, 12 Jun 2019 14:44:39 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
Lines: 50
Message-ID: <5d00f430$0$17345$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.26.105.219
X-Trace: 1560343600 unt-rea-a-01.news.neostrada.pl 17345 83.26.105.219:50896
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:213537 pl.misc.elektronika:743693
[ ukryj nagłówki ]Użytkownik "Pszemol" napisał w wiadomości grup
dyskusyjnych:qdqqh6$n2f$...@d...me...
>Sub AlaMaKota(nieważne tutaj argumenty procedury)
>Dim len as Double
>len = CDbl("tekst wydłubany z RS232") - 1.8
>If len <> CDbl("inny tekst wydłubany z RS232) Then
> zgłoś błąd i kapitulujemy... kaput!
>Else
> lecimy z testami talej, wsio w pariadkie
>Endif.
>Pierwszy tekst z RS232 był 32.8, drugi 31. 32.8-1.8 = 31.
>Powinno być wszystko ok, bo w matematyce 31 równe jest 31 :-)
>Wynik porównania VB6 był 31 nie jest równe 31 i program
>kapitulował...
>Przyczyną błędu była różnica odejmowania wynosząca 15.1234e-15
>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?
To nie jest problem VB, to jest problem przyjetego formatu liczb
rzeczywistych.
Albo problem programisty :-)
31 jest dokladne, 0.8 nie.
0.5 jest dokladne, 0.25 i 0.75 itd - ale wiekszosc liczb "dziesietnych
po przecinku" niestety nie.
Po prostu nie da sie zapisac 32.8 dokladnie.
Programista ma o tym wiedziec i sie zabezpieczyc :-)
>Czy inne Visuale jak VC++ lub VC# też tak mają?
To jest problem procesora z FP IEEEcostam.
Akurat .net ma dodatkowe formaty (Decimal), w ktorych powinno to
dzialac.
Tylko trzeba ie
Ale i tak bym dorzucil zabezpieczenie.
Problem promieniuje na bazy danych, gdzie mamy duzo kwot, a te grosze
tez nie sa dokladne :-)
J.
Następne wpisy z tego wątku
- 12.06.19 14:47 Wojciech Piechowski
- 12.06.19 14:48 Zbych
- 12.06.19 14:56 Irek.N.
- 12.06.19 15:21 JDX
- 12.06.19 16:52 Szyk Cech
- 12.06.19 16:53 Queequeg
- 12.06.19 16:54 Cezary Grądys
- 12.06.19 17:27 J.F.
- 12.06.19 17:45 s...@g...com
- 12.06.19 18:17 stary grzyb
- 13.06.19 15:24 Pszemol
- 13.06.19 15:35 Pszemol
- 13.06.19 15:36 Pszemol
- 13.06.19 15:37 Pszemol
- 13.06.19 15:39 Pszemol
Najnowsze wątki z tej grupy
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
- Oclenie alkalicznych akumulatorów
- Powerbank jednonapieciowy, a trzynapieciowy
- Lustra w maszynie ASML
- DC blocker i buczące toroidy
- Problemy TSMC cd
- Detektor
Najnowsze wątki
- 2024-05-09 lutownica na węgiel
- 2024-05-09 Dla Kfiata i Olina tzw. prawo międzynarodowe
- 2024-05-08 Osoby które znają informacje tajne
- 2024-05-08 doprowadzenie przymusowe świadka
- 2024-05-08 Opel? Ale jaki Opel?? A może nie Opel?
- 2024-05-08 Znów czary (albo niewiedza) - tym razem fotowoltaika
- 2024-05-08 Chess
- 2024-05-08 Gruby pasożyt nasyła tajną policję na aktywistę z Rzeszy działającego w SZAP!
- 2024-05-08 Chess
- 2024-05-08 IZERA - A może jedna Tusk nie ZDOŁA tego ZAORAĆ
- 2024-05-08 Vitruvian Man - parts 7-11a
- 2024-05-08 Vitruvian Man - parts 7-11a
- 2024-05-08 Warszawa => Interactive/Experience Designer <=
- 2024-05-08 Koniecznie potrzebuję kampera...
- 2024-05-08 Gorzów Wielkopolski => Consultant/Implementer Comarch ERP XL <=