Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 lut 2025, o 17:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 18 lut 2015, o 15:27 

Pomógł: 0

Mam taką małą zagwozdkę

Mam zmienną uint32_t (uint16_t w sumie też się zmieści)

w postaci np. liczby

od -99999 do 99999

Potrzeba to przekonwertować na string w postaci

-99,999 do 99,999

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Niestety się nie sprawdza, po pierwsze znikają bardziej znaczące zera po przecinku, po drugie przed i po "przecinku" są spacje

Ma ktoś jakiś pomysł, jak przekonwertować liczbę na string z przecinkiem?

Jeszzcze jeden ficzer, dla 00000, powinno się wyświetlać 0,000 czyli znika tylko pierwsze zero z lewej.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 15:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 kwi 2013
Posty: 257
Lokalizacja: 3miasto
Pomógł: 5

Zrób tak ;) co do spacji :-)

rezasurmar napisał(a):
printf( "%d%c%3d", calosc, ',',reszta);


Jeżeli chodzi o zera to rozbiłbym na pojedyncze cyfry tak jak dla wyświetlania 7led :)


Autor postu otrzymał pochwałę

_________________
https://www.facebook.com/jacekplichtaphotography/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 16:15 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Może jakoś tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 18:25 

Pomógł: 0

To jeszcze nie to, ale faktycznie, zapomniałem, że pierwszy człon definiuje jak są wyświetlane zmienne, stąd spacje ;).

Niestety dla cyfr reszty, znikają zera



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 18:46 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

rezasurmar napisał(a):
Niestety dla cyfr reszty, znikają zera

Między znakami % a 3 dałeś kropkę?

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 19:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 kwi 2013
Posty: 257
Lokalizacja: 3miasto
Pomógł: 5

Cytuj:
Niestety dla cyfr reszty, znikają zera


resztę dziel przez 10 i rozbij na zmienne np setki, dziesiatki, jednosci i te zmienne wstaw po przecinku zamiast zmiennej reszta.

------------------------ [ Dodano po: 1 minucie ]

xor napisał(a):
Między znakami % a 3 dałeś kropkę?


Ty kolego ją wstawiłeś ;)

_________________
https://www.facebook.com/jacekplichtaphotography/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 19:43 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

BIGjack napisał(a):
xor napisał(a):
Między znakami % a 3 dałeś kropkę?


Ty kolego ją wstawiłeś ;)


Mi nic nie ginie...


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 19:47 

Pomógł: 0

xor napisał(a):
Może jakoś tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Dobra, działa ;), jeszcze co prawda bardziej znaczące, widocznie coś pomieszałem jak sprawdzałem na szybko.
Dzięki, to resztę mam z głowy, jeszcze tylko ujemne i znaczące ;).



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 19:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

A nie musisz wpisać zawartości do jakiegoś buforu np tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeżeli się mylę to mnie poprawcie bo dawno już nie używałem tej funkcji.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 19:51 

Pomógł: 0

Z ujemnymi jest problem, bo je dziwnie wyświetla, tj. dla -00040, wyświetla 0,-040 ;)

------------------------ [ Dodano po: kilkunastu sekundach ]

kurnachatka napisał(a):
A nie musisz wpisać zawartości do jakiegoś buforu np tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeżeli się mylę to mnie poprawcie bo dawno już nie używałem tej funkcji.



Nie, w tym wypadku jest zrobiony retarget, na uarta.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 20:05 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Obawiam się, że nie obejdziesz się bez ręcznej robótki bo nie ma możliwości wyłączenia znaku '-' dla liczb ujemnych ani wyświetlenia "ujemnego zera".

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 20:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Spróbuj może użyć flagi zgodnie z info z linku:
http://cpp0x.pl/dokumentacja/standard-C ... printf/736

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 20:17 

Pomógł: 0

Na tą chwilę wymodziłem coś takiego

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


prawie działa ;), tj. dla liczby -00999, jeżeli jest mniej, to niestety nie działa, ale w sumie mniejszy minus mi nie potrzebny.

Co prawda nie do końca mi się podoba, ale na tą chwilę nic innego nie umiem wymyślić.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 21:09 
Offline
Użytkownik

Dołączył(a): 16 sty 2015
Posty: 84
Pomógł: 6

witam, a jak mają wyglądać liczby ujemne ?
tak samo jak dodatnie tylko że ze znakiem?? jeśli tak to proponuje zrobić tak że po sprawdzeniu drukujesz znak a później drukujesz abs tak jak lubisz i jak Ci się podoba

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i ze względu na szeroko rozumianą oszczędność jak już sprawdziłeś że reszta jest mniejsza od zera to zrobić negację zamiast wartości bezwzględnej - ot taki pomysł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2015, o 21:11 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

rezasurmar napisał(a):
jeżeli jest mniej, to niestety nie działa

jesteś pewny?

Będziesz miał 2 minusy jak calosc będzie różne od zera. Tak bym to poprawił:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2015, o 14:06 

Pomógł: 0

W odpowiedzi na pytania kolegi Mokrowski

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dzięki, za odpowiedzi, znajdę chwilę to przetestuje wszelkie tropy.



Góra
  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO