Autor Zpráva
pollo22
Profil
zdravim...upravujem nieco na jednej stranke... zobrazuju sa tam ceny vo formate 1.258,00 no a ja by som to potreboval vydeliť ibaže php berie tu bodku ako desatinu čiarku....dá sa to nejak deliť bez ohľadu na tú bodku? a ten format zapisu musi ostať taky.
kletely
Profil
pollo22
number_format()
kletely
Profil
Konkrétne:
<?php
$num = 1.258,00;
$edit = number_format ($num, 2, '.', '');
echo $edit;
?>
pollo22
Profil
mm toto nespravi ten efekt čo by som chcel...poprve chybaju tam "" a podruhe edit vrati 1.26
Sicario
Profil *
pollo22
Takze chces funkci, ktera z naformatovaneho cisla 1.258,00 predavaneho retezcem, vytvori desetinne cislo, se kterym se da v php pracovat.
Asi nejjdnodussi je pomoci funkce str_replace z retezce odstranit '.' a ',' nahradit za '.'. Pomoci fce. floatval pak z upraveneho retezce ziskas cislo typu float.
pollo22
Profil
Sicario
no nedalo by sa to nejak hodiť do kodu?
toto je ta cena ktoru dostanem:
$cena = $GLOBALS['ProductPrice'];
kletely
Profil
pollo22
mm toto nespravi ten efekt čo by som chcel...poprve chybaju tam "" a podruhe edit vrati 1.26
Tak, nič :(

Sprav:
<?php
$num = "1.258,00";
$edit = str_replace(".","", $num);
echo $edit;
?>
pollo22
Profil
nejak som to už spravil ale teraz mam takyto problem ze podla kalkulacky by mal byt vysledok 51,11 a mne vyjde 51,33
takto to počitam:
<?php
$cena = "1,540.00";
$uprava = array(",");
$upravena_cena = str_replace($uprava, "", "$cena");
$kurz = "30,1260";
$cena_euro = $upravena_cena / $kurz;
echo "$upravena_cena Skk / ";
echo substr($cena_euro, 0,5);
?>
kletely
Profil
pollo22
$cena = "1,540.00";
$uprava = array(",");
$upravena_cena = str_replace($uprava, "", "$cena");
$kurz = 30.1260;
$cena_euro = $upravena_cena / $kurz;
echo "$upravena_cena Skk / ";
echo substr($cena_euro, 0,5);

BTW: substr($cena_euro, 0,5) nepužívaj pre tento účel
použi: number_format($cena_euro, 2,'.', '')
pollo22
Profil
všetko už funguje tak ako má...ďakujem Vám všetkým za pomoc
kletely
Profil
pollo22
Nie je zač :)
Toto téma je uzamčeno. Odpověď nelze zaslat.