Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyświetlenie odpowiedniego wyniku w zależności czy ostatnia cyfra to 0
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


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)?

Ten post edytował Szunaj85 24.04.2009, 18:10:23


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Proszę poprawić temat. Sam tag nie jest tytułem.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
TheaSiX
post
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


  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. ?>


Ten post edytował TheaSiX 24.04.2009, 18:13:11
Go to the top of the page
+Quote Post
Szunaj85
post
Post #4





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Nie wiem, ale powyższy skrypt TheaSiX mi zawsze wyświetla liczbę z 1 miejscem po przecinku. sadsmiley02.gif

Ten post edytował Szunaj85 24.04.2009, 18:27:55


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
v1t4n
post
Post #5





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


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.


--------------------
Psik!! A masz!! ...chamie - Porucznik Borewicz
Go to the top of the page
+Quote Post
TheaSiX
post
Post #6





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


będzie działać jeśli przed działaniem skryptu skonwertujesz zmienną na typ string.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:18