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