mkay Napisano Luty 13, 2009 Zgłoś Share Napisano Luty 13, 2009 Witam, mam problem z arytmetycznym zaokrągleiem liczb. oto kawalek kodu: double suma_oddzialow; unsigned long suma1; suma1=round(suma_oddzialow*100); sprintf(logstr, "suma_oddzialow=%f, suma1=%ld", suma_oddzialow, suma1); w zmiennej logstr pojawia sie: suma_oddzialow=2349.399902, suma1=234939 dlaczego po zaokragleniu otrzymuje 234939, choc arytmetycznie powinienem miec 234940 oraz jak to naprawic? Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Luty 13, 2009 Zgłoś Share Napisano Luty 13, 2009 najproscie floaty zaokraglac uzywajac wzoru int i = (int)(f+0.5) gdzie f to jakas zmienno przecinkowa Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.