Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dodawanie z zachowaniem początkowych zer
Otto
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 7
Dołączył: 22.03.2010

Ostrzeżenie: (0%)
-----


Witam mam taki problem z dodawaniem liczb z zachowaniem początkowych zer np.

  1. $a = 002;
  2. $a++;
  3. echo $a;


Zwróci mi 3 a chciałbym otrzymać 003, niestety w google nic nie znalazłem na ten temat.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Valdi_B
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Musisz tu rozróżnić 3 rzeczy:
1. Reprezentację liczby w kodzie programu (np. instrukcji podstawienia).
2. Reprezentację liczby w zmiennej.
3. Sposób jej prezentacji np. przy wydruku lub "wmontowaniu" w jakiś inny tekst.

W konkretnym przypadku:
1. Użyłeś zapisu 076, co oznacza zapis oktalny, dziesiętnie 62.
2. Liczba jest pamiętana jako integer (62), po inkrementacji - 63.
3. W kodzie programowym masz 2 sposoby konwersji: %03s (string) i %03o (oktalnie).

Gdy zamiast 076 dasz 077 (dziesiętnie 63), to po inkrementacji otrzymasz 100 (dziesiętnie 64).

A może to wszystko powinny być wartości dziesiętne?
Wtedy format konwersji powinien być %03d.

Zrób tak:
1. Liczbę podstawiaj do zmiennej bez prowadzącego zera (zer). Zakładam, że chodzi Ci o zapis dziesiętny.
2. Działaj na niej jak na zwykłej liczbie.
3. Funkcję sprintf("%03d", ...) stosuj tylko przy wyświetlaniu tej zmiennej (lub "wmontowaniu" jej w jakiś większy tekst).

Ten post edytował Valdi_B 20.02.2011, 13:31:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 23:09