Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Z trybu szestastkowego na liczby naturalne
Siper
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 25.04.2009

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


Od niedawna skrypt zamiast pokazywać normalne cyfry, "wypluwa" je w trybie szestastkowym

  1. list($steam, $id, $id2) = explode(":", $_GET['sid']);
  2.  
  3. $steam_id64 = $id2 * 2 + $id + 76561197960265728;
  4.  


Zakładając, że $_GET['sid'] to STEAM_0:0:19483090, $steam_id64 powinno wynosic 76561197999231908, a zamiast tego pokazuje 7.65611979992E+16. Co jest tym spowodowane? Zaznaczam że to sie dzieje od niedawna, wcześciej działało bez problemu.

Ten post edytował Siper 7.06.2010, 22:02:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
vermis
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


to nie jest tryb szesnastkowy to jest po prostu:
7.65611979992*10^16
czyli nadal liczba w systemie dziesiętnym.
Go to the top of the page
+Quote Post
tehaha
post
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


to jest notacja naukowa i mysql zapisuje tak bardzo duże liczby, o ile pamiętam to chyba funkcją number_format() można to wyświetlić w normalnej formie http://php.net/manual/en/function.number-format.php
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To jest tak zwana "notacja naukowa". Przy takiej notacji niestety tracisz dokładność najczęściej. Staraj się zmienić wielkość liczb bo inaczej będą dane mniej dokładne, bo będą wyskakiwały poza zakres.
Go to the top of the page
+Quote Post
Siper
post
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 25.04.2009

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


Niestety, ale zmniejszenie ilości liczb jest niemożliwe, skrypt pobiera dane ze Steam (taki system gier (IMG:style_emoticons/default/biggrin.gif) ) i jeżeli bedzie inna to po prostu dane będą błędne
Go to the top of the page
+Quote Post
Pawel_W
post
Post #6





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat(Siper @ 7.06.2010, 23:38:38 ) *
Niestety, ale zmniejszenie ilości liczb jest niemożliwe, skrypt pobiera dane ze Steam (taki system gier (IMG:style_emoticons/default/biggrin.gif) ) i jeżeli bedzie inna to po prostu dane będą błędne

ale zrozum, dla komputera nie ma różnicy w jakim formacie jest zapisana liczba, 10^2 = 100, wartość to wartość...

a jak już koniecznie chcesz, to do wyświetlania możesz użyć:
  1. echo rtrim(sprintf("%f", 7.65611979992E+16),"0")
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: 23.08.2025 - 14:26