Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 1.831 pregleda

Najnovija ↓

number_format vraca string 06.06.2009. u 10:30 · pre 211 meseci #1
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.
Re: number_format vraca string 06.06.2009. u 10:41 · pre 211 meseci #2
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...
Re: number_format vraca string 06.06.2009. u 10:52 · pre 211 meseci #3
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.
Re: number_format vraca string 06.06.2009. u 11:02 · pre 211 meseci #4
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)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme