Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

sprintf i wyswietlacz lcd - nie moge odpowiednio sformatowac tekstu

Sylwek1991 22 Lut 2014 17:01 1005 4
  • #1 22 Lut 2014 17:01
    Sylwek1991
    Poziom 6  

    Witam
    Próbując napisać funkcje wyświetlająca temperaturę korzystam z funkcji sprintf.
    nie mogę jednak sformatować tekstu tak aby temperatura była wyświetlana z mniejsza precyzja ( mniej miejsc po kropce ) -> niezależnie od tego co wpisze wyświetlają się zawsze 4 cyfry po kropce.



    Kod: c
    Zaloguj się, aby zobaczyć kod



    Dopisałem druga funkcje sprintf, dzięki której wszystko jest jak powinno,
    jednak nie rozumiem dlaczego za pomocą pierwszej funkcji nie mogę zmniejszyć ilości cyfr po kropce.

    Linijkę odpowiadająca za formatowanie tekstu przepisałem z książki, jak formatuje się za pomocą sprintf trochę poczytałem i nie wiem co robię źle, proszę o pomoc.

    0 4
  • #3 22 Lut 2014 18:24
    Sylwek1991
    Poziom 6  

    Zobaczyłem i nie jestem pewien czy dobrze rozumiem,
    w sprintf określam szerokość pola
    szerokośc pola :

    Cytat:
    Za pomocą tego parametru ustala się jaką szerokość liczoną w ilości znaków ASCII ma mieć wynik działania funkcji.


    Przenosząc to na mój przykład, wpisuje szerokość pola np "%2d" , a na wyświetlaczu i tak widzę 4 cyfry.
    Nie jestem w stanie za pomocą szerkości pola ograniczyć ilości wyświetlanych cyfr, i nie do końca wiem dlaczego

    0
  • Pomocny post
    #4 22 Lut 2014 19:05
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Sylwek1991 napisał:
    Nie jestem w stanie za pomocą szerkości pola ograniczyć ilości wyświetlanych cyfr, i nie do końca wiem dlaczego

    To proste - dlatego że nie czytasz dokumentacji.

    http://www.cplusplus.com/reference/cstdio/printf/

    4\/3!!

    0
  • #5 22 Lut 2014 21:12
    Sylwek1991
    Poziom 6  

    Czytałem w podręczniku, i nie było wszystkiego co znajduje się pod tym linkiem
    dziękuje za pomoc

    0