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

Zaokruživanje na dve decimale

[es] :: PHP :: PHP za početnike :: Zaokruživanje na dve decimale

[ Pregleda: 4494 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

madcama
Valjevo

Član broj: 103936
Poruke: 794
*.dynamic.isp.telekom.rs.



+184 Profil

icon Zaokruživanje na dve decimale05.10.2013. u 13:55 - pre 127 meseci
Kako da zaokružim sve brojeve u okviru neke skripte ili još bolje na nivou sajta na dve decimale, a da ne idem od promenljive do promenljive.
Najbolje bi bilo da ima mogućnosti number_format() funkcije, ali ako ništa drugo može da radi i na nivou round().
Dakle voleo bih da mi svi brojevi izgledaju xxx yyy,zz.

Hvala na pomoći.
Po temi http://www.elitesecurity.org/t385534-0 ja sam terorista.
Use The Force my young Luke Filewalker.
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Zaokruživanje na dve decimale05.10.2013. u 14:51 - pre 127 meseci
Sve zavisi kako je napisan kod. Ako se sve odvija pre HTML koda, onda verovatno možeš jednostavno filtrirati i izmeniti sve brojeve. Međutim, ako je php kod miksovan sa HTML-om, onda sve radiš ručno.
Postoji i treća varijanta koristeći output buffering (ob_start). Ali ovo treba koristiti jedino ako nemaš drugo rešenje.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

madcama
Valjevo

Član broj: 103936
Poruke: 794
*.dynamic.isp.telekom.rs.



+184 Profil

icon Re: Zaokruživanje na dve decimale05.10.2013. u 20:42 - pre 127 meseci
Do sada sam to radio ovako
Code:
$a=$b*$c;
$a1=number_format($a, 2, ',', ' ');
echo $a1;


I tako za svaku promenljivu.

Bilo bi sjajno kada bih na globalnom nivou mogao da podesim u kom će se formatu prikazivati brojevi.
Po temi http://www.elitesecurity.org/t385534-0 ja sam terorista.
Use The Force my young Luke Filewalker.
 
Odgovor na temu

deZio
Inđija

Član broj: 150608
Poruke: 345
*.dynamic.isp.telekom.rs.



+38 Profil

icon Re: Zaokruživanje na dve decimale05.10.2013. u 21:10 - pre 127 meseci
Jednostavno idi ovom logikom:
Code (php):

$a = $b * $c;
$d = $e * $f;
// ... neki kod ...
echo number_format($a, 2, ',', ' ');
echo number_format($d, 2, ',', ' ');
 


ili možda još lakši način:
Code (php):

function echo_dec_broj( $broj, $br_decimala = 2, $dec_znak = ',', $hiljade_znak = ' ' ) {
     echo number_format( $broj, $br_decimala, $dec_znak, $hiljade_znak );
}

$a = 0.5 * 3;
$d = 16 / 24;

echo_dec_broj( $a ); // ispisaće: 1,50
echo_dec_broj( $d ); // ispisaće: 0,66
echo_dec_broj( 6 * 14 - 8 + 54 * 16 / 3 * 105 / 157 * 200 ); // ispisaće: 38 598,29
 
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Zaokruživanje na dve decimale06.10.2013. u 03:01 - pre 127 meseci
Na šta tačno misliš kada kažeš "na globalnom nivou"?
Da li hoćeš da u nekoj liniji koda promeniš format broja, što će da utiče na sve brojeve?
Ako ranije nisi pripremio funkciju za ovo onda ćeš ipak morati da menjaš sve ručno.
Međutim, ukoliko si brojeve smestio u npr. niz za kasniji prikaz u okviru HTML koda, onda možeš ponovo "pročešljati" niz i filtrirati/formatirati brojeve po želji pre prikaza.

Primer funkcije:
Code (php):

function FormatBroja( $vrednost, $dec = 2, $znak = ',', $sep = ' ' ) {
     return number_format( $vrednost, $dec, $znak , $sep  );
}

echo FormatBroja( 501235.25 );
echo "<br>";
echo FormatBroja( 12.05 );
 


edit: tek sada vidim da je funkcija gotovo identična kao u postu iznad...

I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Zaokruživanje na dve decimale

[ Pregleda: 4494 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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