Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlenie odpowiedniego wyniku w zależności czy ostatnia cyfra to 0
Forum PHP.pl > Forum > Przedszkole
Szunaj85
Wczoraj po-google-owałem trochę, ale nie znalazłem odpowiedzi na mój mały problem. sciana.gif
Napisałem sobie skrypt, który robi obliczenia i wyświetla mi wynik w postaci liczby, która ma 2 miejsca po przecinku np. 1,55. Użyłem do tego funkcji number_format.
  1. <?php
  2. number_format($zmienna, 2, ',', ' ');
  3. ?>
Jednak niezbyt ładnie to wygląda, gdy ostatnia cyfra to 0. W tej chwili przykładowy wynik z zerem na końcu wyświetliłby mi się tak 1,50. Jednak ładniej wyglądałoby to tak 1,5.
Jak napisać regułkę dla wyniku/zmiennej, że jeżeli ostatnia cyfra jest inna niż 0 to wyświetli wynik z 2 miejscami po przecinku (1,50), a jeżeli ostatnia cyfra jest 0 to wyświetli wynik z 1 miejscem po przecinku (1,5)?
batman
Proszę poprawić temat. Sam tag nie jest tytułem.
TheaSiX
  1. <?php
  2. $last = $zmienna[strlen($zmienna)-1];
  3. if($last == 0)
  4. {
  5.    $ile = 1;
  6. }
  7. else
  8. {
  9.    $ile = 2;
  10. }
  11. $zmienna = number_format($zmienna,$ile);
  12. ?>
Szunaj85
Nie wiem, ale powyższy skrypt TheaSiX mi zawsze wyświetla liczbę z 1 miejscem po przecinku. sadsmiley02.gif
v1t4n
Wstaw sobie to przed wypluciem tych zmiennych
  1. <?php
  2. while($zmienna[strlen($zmienna)-1]==0) $zmienna = substr($zmienna, 0, strlen($zmienna)-1);
  3. ?>


Po chłopsku - funkcja kreci korba dopoki ostatni znak to 0, jesli tak to go usuwa.
TheaSiX
będzie działać jeśli przed działaniem skryptu skonwertujesz zmienną na typ string.
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-2025 Invision Power Services, Inc.