Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wyswietlanie liczb, wyswietlanie liczb
krzysiekk
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 13.03.2006
Skąd: Jaworze

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


witam proszę o pomoc czy jest w php "funkcja" ktora zmienia liczbe np 1000000 na 1 000 000
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




LEŃ!!! http://pl2.php.net/number_format
Go to the top of the page
+Quote Post
--novik--
post
Post #3





Goście







Witam
A jak zrobić to na odwrót ? Czyli liczbę np. 1 000 000 zamienić na 1000000.
Mam plik w którym jest (ostatnia liczba zawsze jest liczbą bez miejsc po przecinku):
Kod
Nazwa1,14.25,22.12,6 045 000
Nazwa2, , ,   ,
Nazwa3,1 240.37,32.57,2 388
......

Próbowałem usunąć spacje poprzez
  1. str_replace(' ', '', $dane)
  2. trim($dane);
niestety jakoś nie chcą usunąć spacji, nawet tych w wierszu drugim. PHP wersja 5.3.2

A tak przy okazji macie pomysł jak usunąć np. wiersz drugi (po ostatnim przecinku jest jedna spacja) ?
Go to the top of the page
+Quote Post
Kuba707
post
Post #4





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 20.03.2010

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


Tak w ogóle to nie powinno się tak w pliku zapisywać. Zapisywać powinno się jak "najnormalniej". Zapis musi być normalny, prosty a takie formatowanie powinno mieć miejsce tylko przy WYŚWIETLANIU.
Go to the top of the page
+Quote Post
--novik--
post
Post #5





Goście







Witam,
może napisze kod jaki mam:
  1. <?php
  2. $nazwa_pliku3 = "plik.txt";
  3. if (is_readable($nazwa_pliku3))
  4. {
  5. if ($plik3 = fopen($nazwa_pliku3, "r"))
  6. {
  7. $dane3 = fread($plik3, filesize($nazwa_pliku3));
  8.  
  9. if ($dane3 === FALSE) echo "Odczyt danych z pliku nie powiódł się...";
  10. else echo "odczytane dane: <br />";
  11.  
  12. fclose($plik3);
  13.  
  14. } else echo "Nie mogę nawiązać połączenia z plikiem...";
  15. } else echo "Z pliku nie można odczytać informacji lub on nie istnieje...";
  16.  
  17.  
  18. $ok = str_replace(' ', '', $dane3);
  19.  
  20. $nazwa_pliku2 = "plik2.txt";
  21. if (is_writeable($nazwa_pliku2))
  22. {
  23. if ($plik2 = fopen($nazwa_pliku2, "w+"))
  24. {
  25. if (fwrite($plik2, "$ok") !== FALSE) echo "Zapis do pliku zakończył się powodzeniem...";
  26. else echo "Zapis do pliku się nie powiódł...";
  27.  
  28. fclose($plik2);
  29.  
  30. } else echo "Nie mogę nawiązać połączenia z plikiem...";
  31. } else echo "Do pliku nie można dopisać informacji lub on nie istnieje...";
  32. ?>

Po uruchomieniu nie ma żadnego efektu. A wszystko jest OK bo jak zmienię np:
  1. $ok = str_replace(',', '', $dane3);

to usuwa mi przecinki.
Wydaje mi się, że problem polega na wyświetlaniu liczb. PHP automatycznie dodaje separator do liczb tysięcznych, milionowych itd.
Go to the top of the page
+Quote Post
--novik--
post
Post #6





Goście







Witam,
Zrobiłem. Podglądając plik w edytorze HEX, zauważyłem, że znak "spacji" ma wartość A0 a nie 20. Więc zacząłem kombinować i użyłem tego:
  1. $dane3 = iconv("utf-8", "ASCII//IGNORE", $dane3);
bez //IGNORE wywalało błąd na danym znaku, a dzięki temu skasował te znaki i uzyskałem zamierzony efekt.
(IMG:style_emoticons/default/aarambo.gif)
Go to the top of the page
+Quote Post

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: 4.10.2025 - 05:04