Round float24
Martin Záruba
swz na volny.cz
Středa Únor 13 11:37:47 CET 2013
Zkusil jsem Lazarus a zde to funguje.
Memo1.append(FloatToStr(127.67383)); -
výsledek 127,67383
Memo1.append(FloatToStr(Round(127.67383*100)/100)); - výsledek 127,67
Memo1.append(FloatToStr(127.67)); -
výsledek 127,67
Martin Zaruba
----- Original Message -----
From: "Hfmcons" <hfmcons na gmail.com>
To: <Hw-list na list.hw.cz>
Sent: Wednesday, February 13, 2013 10:44 AM
Subject: Round float24
Zdravím,
potřeboval bych v XC8 nebo Hi-Tech zaokrouhlit float24
číslo(proměnnou) 127,67383 na 127,67000. A´t dělám co dělám, výsledkem
je vždy nějaká modifikace původního čísla(na všech pozicích za
desetinnoum tečkou jsou nějaké hodnoty). Zkoušel jsem kde co i
konverze round(float) pak do int a zpět do float atd. Co jsem tak
ještě nezkoušel je modf(), protože na malých MCU jsou operace s FP
zbytečným plýtváním a tak potřebné radši přepisuju do celých čísel.
Přesto by mně zajímalo, proč to zaokruhlení nefunguje. Manuály k oběma
kompilérům žádné omezení, pokud jsem něco nepřehlédl, při práci s
float24 nepopisují. Vidím to na nějaké přehlédnutí některé vlastnosti,
ale nedaří se mi k tomu nic dohledat, byl by někdo ochotný tohle
objasnit?
S pozdravem,
Miloš Dašek
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list