Jak z liczby 99 zrobić liczbę 099?
Ostatnio zmodyfikowano 2012-02-11 19:33
Trix Temat założony przez niniejszego użytkownika |
Jak z liczby 99 zrobić liczbę 099? » 2012-02-11 11:34:41 Napisałem mały programik rysujący mapę 3d. Niestety mam problem z liczbami określającymi Wysokość punktu :)
Załóżmy, że mam do zapisania (do pliku) liczbę 99, 55, 43 itp. Lecz chcę by 1 liczba miała 3 cyfry, jak dodać do 99 to 0 tak by powstała liczba 099? |
|
xevuel |
» 2012-02-11 11:48:13 Rozumiem że 099 chcesz przedstawić jako tekst? Bo jak jako liczbę, to komputerowi nie zrobi to różnicy czy jest zapisane tak czy tak. Użyj funkcji itoa i strcat. |
|
Gronek8624 |
» 2012-02-11 11:54:50 Pierwszy pomysł jaki mi wpadł do głowy to int dajesz na stringa (Swys) sprawdzasz wielkość jak ma int if( wys <= 99 ) { if( wys <= 9 ) { zapis = "00"; zapis =+ Swys; } else { zapis = "0"; zapis =+ Swys; } }
Nie wiem nie sprawdzałem ale powinno działać :) |
|
Trix Temat założony przez niniejszego użytkownika |
» 2012-02-11 12:29:03 A jeszcze takie pytanko, bo nigdy nie rzutowałem int do stringa. Napisałem takie coś: ostringstream ss;
fstream plik( "map01.txt", ios::out ); if( plik.good() ) { for( int i = 1; i <= 10; i++ ) { for( int g = 1; g <= 10; g++ ) { int u = rand() % 9 + 1; ss << u; string str = ss.str(); plik << " " << str; plik.flush(); } plik << "\n"; } plik.close();
Lecz podany kod robi takie coś: 1 wylosowana liczba : 2 2 -||- : 5 3 -||- : 1 I zapisuje do pliku takie dane: 2 25 251, a ja chcę by tak zapisywało: 2 5 1 EDIT: Jak wyczyścić ss?? |
|
malan |
» 2012-02-11 12:32:37 |
|
pekfos |
» 2012-02-11 13:28:05 Metoda ostringstream::str(). ios::clear() tylko czyści flagi. Zawartości nie. |
|
Trix Temat założony przez niniejszego użytkownika |
» 2012-02-11 18:56:49 Ok, poradziłem sobie :) |
|
malan |
» 2012-02-11 19:33:36 Cieszymy się, że sobie poradziłeś, ale mógłbyś się podzielić tym rozwiązaniem dla potomnych :) |
|
« 1 » |