Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czytanie liczb (wieku)
Forum PHP.pl > Forum > Gotowe rozwiązania
northwest
Witam serdecznie,
chciałbym zrobić skrypt do czytania wieku - "lat" i "lata".
Czyli: jeśli wiek jest większy od 20 i kończy się cyfrą 2,3,4 to dajemy "lata", w pozostałych przypadkach "lat" np. 22 lata, 25 lat.

Ma ktoś może pomysł jak można to zrobić?

Z góry dziękuję za pomoc,
Northwest
Pyton_000
kod w innym języku:

Kod
def deklinacja(liczba, slownik):
    if liczba==1:
        return slownik[0]
    elif 2<=(liczba%10)<=4:
        if 10<=(liczba%100)<=20:
            return str(liczba) + ' ' + slownik[2]
        else:
            return str(liczba) + ' ' + slownik[1]
    else:
        return str(liczba) + ' ' +slownik[2]



Kod
Kod
wiek= 500
s = ['rok', 'lata', 'lat']
print deklinacja(wiek, s)
northwest
a w php jak to będzie wyglądało??wink.gif
Pyton_000
Masz przecież. Przepisz to sobie na PHP. Algorytm masz jak na dłoni.
PrinceOfPersia
w JavaScript, ale po wywaleniu jednej linijki powinno działać i w PHP (mam nadzieję):

[JAVASCRIPT] pobierz, plaintext
  1. function deklinacja($liczba) {
  2. var $reszta; // wywal to -----------------------------
  3. $reszta = $liczba % 10;
  4. return $liczba == 1? 'rok' : (
  5. ($liczba > 11 && $liczba < 15) || $reszta < 2 || $reszta > 4? 'lat' : 'lata'
  6. );
  7. };
[JAVASCRIPT] pobierz, plaintext
timon27
MAm gotowy dla 'kartek', więc sobie popraw:
  1. function kart($p){
  2. if($p<20){
  3. if($p<5){
  4. if($p==1)
  5. return "kartka";
  6. if($p==0)
  7. return "kartek";
  8. return "kartki";
  9. }
  10. return "kartek";
  11. }
  12. if($p%10==2 || $p%10==3 || $p%10==4)
  13. return "kartki";
  14. return "kartek";
  15. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.