Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP+Windows] Przecinek zamiast kropki
kwiatek5
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 26.01.2011

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


Witam,
mam taki kod:
  1. <?php echo 1.43;


Dlaczego przeglądarka wyświetla wartość z przecinkiem?
Gdzie można to poprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Kwestia ustawień locale serwera. http://php.net/manual/en/function.setlocale.php Ustaw sobie dla LC_NUMERIC język en_En czy tam en_US. Nie pamietam, ktory ma kropkę (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Mozna tez tak:
echo '1.43';
(IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
kwiatek5
post
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 26.01.2011

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


  1. <?php
  2. setlocale(LC_NUMERIC, 'en_US');
  3. echo 1.43;


Niestety dalej jest przecinek dla en_US, en_GB, en_EN.

Cytat(nospor @ 29.10.2015, 09:58:50 ) *
Mozna tez tak:
echo '1.43';
(IMG:style_emoticons/default/wink.gif)


To nie rozwiązuje problemu, bo jest to jakaś wartość wyniku 64.35/45
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale mozesz zrzutowac to na string i juz.

$x = (string)$x;

No chyba ze przy takim rzutowaniu tez zamienia na przecinek... sprawdz
Go to the top of the page
+Quote Post
kwiatek5
post
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 26.01.2011

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


  1. <?php
  2. setlocale(LC_NUMERIC, 'en_US');
  3. $x = 64.35/45;
  4. $x = (string) $x;
  5. echo $x;

Dalej jest przecinek.
I chodzi o to, aby nie robić str_replace(',', '.', $x);
Go to the top of the page
+Quote Post
czychacz
post
Post #7





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

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


http://php.net/manual/en/function.number-format.php
Go to the top of the page
+Quote Post
kwiatek5
post
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 26.01.2011

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


Czy ktoś wie, gdzie są jakieś ustawienia, aby rozwiązać ten problem?
Chodzi o to, aby zrobić to tylko raz globalnie.
Go to the top of the page
+Quote Post
session
post
Post #9





Grupa: Zarejestrowani
Postów: 112
Pomógł: 22
Dołączył: 11.04.2010
Skąd: Tarnów

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


Na pewno z tym setlocale nie wyszło ?

  1. setlocale(LC_NUMERIC, 'fr_FR');
  2. echo 1.43;
  3. echo "\n\r";
  4. setlocale(LC_NUMERIC, "en_US.UTF-8");
  5. echo 1.43;


TEST
Go to the top of the page
+Quote Post
kwiatek5
post
Post #10





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 26.01.2011

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


sandbox jest na *nixie, a problem dotyczy polskojęzycznego windowsa.
Go to the top of the page
+Quote Post
kapslokk
post
Post #11





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Cytat
Tip

Windows users will find useful information about locale strings at Microsoft's MSDN website. Supported language strings can be found in the » language strings documentation and supported country/region strings in the » country/region strings documentation.

https://msdn.microsoft.com/en-us/library/39...v=vs.90%29.aspx
Spróbuj może jeszcze tego.
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: 22.08.2025 - 14:07