Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

number_format vraca string

[es] :: PHP :: PHP za početnike :: number_format vraca string

[ Pregleda: 1328 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

prginfo
NS

Član broj: 174814
Poruke: 133
*.ADSL.neobee.net.



+1 Profil

icon number_format vraca string06.06.2009. u 09:30 - pre 180 meseci
Imam MySQL bazu i u njoj polje koje je double 10,2 i dve nejasnoce:

1. Kada uradim upit kroz .php dobijem ispravnu vrednost i broj je double.
Problem je sto nemam zadnje 2 decimale, ako u vrednosti ne postoje.
Iz tog razloga sam uradio $var = number_format($var,2);
Posle toga, imam prikazane 2 decimale, ali mi je $var tipa string, pa mi racunanje ne radi kako treba.

2. Kada uradim upit tipa SELECT polje FROM TABELA WHERE idpolje=1; dobijem naravno jednu vrednost. polje je u bazi double 10,2
Nejasnoca je sledeca. Ovaj select mi vraca tip resource. Iz tog razloga uradim $var2 = mysql_fetch_assoc ($var1), a potom podatak dobijam sa $var2["polje"].

E sada, select mi vraca resource, $var2 = mysql_fetch_assoc ($var1) mi vraca array, a ono kljucno, $var2["polje"] mi vraca string, a meni treba double.

Ja sam navikao na Delphi, ali po meni je bitno da covek zna sta hoce da kaze, a jezik kojim ce to da kaze ce da nauci.
Ja se sada trudim da naucim kako php radi konverzije, posto logika u Delphiju je malo drugacija.

Da li idem pogresnim putem, ili se u php-u ovo radi na ovakav nacin.

Unapred se zahvaljujem.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: number_format vraca string06.06.2009. u 09:41 - pre 180 meseci
Ako sam te dobro razumeo, sve što tebi treba je cast-ovanje:
Code:
$brojna_vrednost = (double)$var;

Umesto double može i real ili float, za realne brojeve...
 
Odgovor na temu

prginfo
NS

Član broj: 174814
Poruke: 133
*.ADSL.neobee.net.



+1 Profil

icon Re: number_format vraca string06.06.2009. u 09:52 - pre 180 meseci
Nikola, prvo da ti se zahvalim na brzim odgovorima.

Drugo, kada uradim kastovanje kao sto si naveo:

$brojna_vrednost = (double)$var;

S tim da mi je $var string (koji je u bazi double i na ekranu mi se prikazuje npr 321.00), tip koji dobije $brojna_vrednost je double, ali na ekranu kada uradim echo $brojna_vrednost dobije 1.

To nije ispravna vrednost i nema dve decimale.
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.dynamic.stcable.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: number_format vraca string06.06.2009. u 10:02 - pre 180 meseci
Kako ne racuna dobro? PHP je slabo tipiziran jezik, mozes mesati stringove i int/floatove:

Code:

<?php

$number = 12;

$frmt_number = number_format($number, 2);

var_dump($number);
echo '<br />';

var_dump($frmt_number);

echo '<br />';
$res = $frmt_number + 34.12;

var_dump($res);


Ispis je:
Code:

int(12)
string(5) "12.00"
float(46.12)
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: number_format vraca string

[ Pregleda: 1328 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.