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

Pravljenje "psiholoske cene"

[es] :: PHP :: Pravljenje "psiholoske cene"

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
82.117.198.*



+25 Profil

icon Pravljenje "psiholoske cene"15.08.2012. u 15:24 - pre 142 meseci
Da li je neko vec radio funkciju pretvaranja cene u psiholosku cenu, recimo:

197.56 = 199.00
124.00 = 129.00
1223.79 = 1299.00
22200.50 = 22499.00

ali i da 1301.70 = 1309.00 ili 1299.00 ..

Imam neku ideju u glavi, ali da pitam ovde, mozda postoji elegantnije resenje :/ ?


I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

vmosnak
Vladislav Mosnak
Novi Sad

Član broj: 304531
Poruke: 15
62.193.135.*



+1 Profil

icon Re: Pravljenje "psiholoske cene"16.08.2012. u 01:13 - pre 142 meseci
interesantan zadatak,
nesto na brzinu... sry. na prilicno nejasno napisanom kodu, zurio sam
Code:

<?php
$num = $_GET['num'];
echo $num . '~';

$num = intval($num);
$digNum = strlen($num);
$dlm = pow(10, $digNum-2);
$cfg = 0;
$end = substr($num, -1);
if($dlm > 1000){
    $cfg = $dlm / 2;
}
if($num == $dlm * 10){
    $num = $num - 1;
}
else if($end < $dlm/10){
    $num = intval($num - $dlm/100 -1);
    $len = strlen($num);
    $num = substr_replace($num, '99', $len-2, $len);
}
else {
    if($rem = $num % $dlm){
        $num += $dlm - $rem -1 - $cfg;
    }
}
echo $num;
?>
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
82.117.198.*



+25 Profil

icon Re: Pravljenje "psiholoske cene"16.08.2012. u 07:52 - pre 142 meseci
Pa da, interesantno, nigde na netu nema... ni na stranim sajtovima cija je tematika PHP.
Vel'ko fala!

Uspeo sam ovako da resim problem, mada nije skroz skroz ono sto sam mislio... ali radi :)
Code:
function makePsychologicalPrice($price)
{
    $psy_price = floor($price); // Zaokruzujemo na ceo broj.
    if($psy_price % 10 > 1)
    {
        $psy_price = round($psy_price,-2);
        $psy_price+=99;
    }
    elseif($psy_price % 10 == 0 and isDecimal($price)) 
        $psy_price+=9;
    
    return $psy_price;
}


[Ovu poruku je menjao Milan M. Radovic dana 16.08.2012. u 09:28 GMT+1]

[Ovu poruku je menjao Milan M. Radovic dana 16.08.2012. u 09:40 GMT+1]
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
188.124.193.*



+18 Profil

icon Re: Pravljenje "psiholoske cene"21.08.2012. u 23:19 - pre 141 meseci
Ako upisemo 8 , funkcija vrati 99
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.mediaworksit.net.



+25 Profil

icon Re: Pravljenje "psiholoske cene"10.09.2012. u 21:35 - pre 141 meseci
Znam, ali realno nista nece kostati 8 dinara :D a i nema veze... bolje je uvek vece ;)
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

[es] :: PHP :: Pravljenje "psiholoske cene"

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

Postavi temu Odgovori

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