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

Pretvaranje brojeva u slova

[es] :: PHP :: Pretvaranje brojeva u slova

[ Pregleda: 3465 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shadow-bg
Ciric Vukasin
Preduzetnik
Beograd

Član broj: 189835
Poruke: 313
*.dynamic.sbb.rs.

Sajt: www.bgwireless.net


+293 Profil

icon Pretvaranje brojeva u slova10.11.2013. u 23:18 - pre 126 meseci
Jel ima neko mozda vec gotovu funkciju za prikaz brojeva recima? :)
 
Odgovor na temu

deZio
Inđija

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



+38 Profil

icon Re: Pretvaranje brojeva u slova10.11.2013. u 23:53 - pre 126 meseci
Pogledaj ovu klasu:
http://it-pu.com/broj_u_slova

Samo treba da prepraviš njihovu kunu u naš dinar.
 
Odgovor na temu

shadow-bg
Ciric Vukasin
Preduzetnik
Beograd

Član broj: 189835
Poruke: 313
*.dynamic.sbb.rs.

Sajt: www.bgwireless.net


+293 Profil

icon Re: Pretvaranje brojeva u slova11.11.2013. u 19:51 - pre 126 meseci
Probao sam, ali hiljade su mu problem, lose radi. Napisao sam svoje:

Code:

<?php
function brojsrpski($para)
{
    
    $broj=number_format ($para, 2, ',', '.');
    // razdvaja broj na dinare i pare.
  if(strpos($broj, ",")) {
            list($dinara, $para ) = explode(",", $broj);
        }
        else {
            $dinara = $a;
            $para = 0;
         }
    $delovi = explode(".",$dinara);
    $slovima='';
    $slovima_final='';
    $prilog='';
    
    if ($dinara==0) {
         return "nula dinara";
    } elseif ($dinara > 999999999 ) {
        return "van opsega";
    }    else {
    
    $jedinice = array('','jedan', 'dva', 'tri', 'četiri', 'pet', 'šest', 'sedam', 'osam', 'devet', 'deset', 'jedanaest', 'dvanaest', 'trinaest', 'četrnajest', 'petnaest', 'šesnaest', 'sedamnaest', 'osamnaest', 'devetnaest');
    $jedinice2 = array('','jedna', 'dve', 'tri', 'četiri', 'pet', 'šest', 'sedam', 'osam', 'devet', 'deset', 'jedanaest', 'dvanaest', 'trinaest', 'četrnajest', 'petnaest', 'šesnaest', 'sedamnaest', 'osamnaest', 'devetnaest');
    $desetice = array('','dvadeset', 'trideset', 'četrdeset', 'pedeset', 'šezdeset', 'sedamdeset', 'osamdeset', 'devedeset');
    $stotine = array('','sto', 'dvesta', 'trista', 'četirsto','petsto', 'šesto', 'sedamsto', 'osamsto', 'devetsto');
    
    $hiljade = array('','hiljada','hiljade','hiljade','hiljade','hiljada','hiljada','hiljada','hiljada','hiljada');
    $milioni = array('','milion','miliona','miliona','miliona','miliona','miliona','miliona','miliona','miliona');
    
    $delova=count($delovi);
    
    for ($b=0;$b < $delova;$b++)
    {
    
    if ($delovi[$b]<20) {
        if ($b < ($delova-1)) {
                                $slovima.=$jedinice2[intval($delovi[$b])];
                                } else {
                                $slovima.=$jedinice[intval($delovi[$b])];
                                }
    }
    
    if (($delovi[$b]>20) && ($delovi[$b]<100)) {
    $delovi[$b]=ltrim($delovi[$b],'0');
    $slovima.=$desetice[$delovi[$b][0]-1];
    if ($b < ($delova-1)) {
                                $slovima.=$jedinice2[$delovi[$b][1]];
                                } else {
                                $slovima.=$jedinice[$delovi[$b][1]];
                                }
    }
    
    if ($delovi[$b]>100) {
    $slovima.=$stotine[$delovi[$b][0]];
    $tmp_desetice=substr($delovi[$b],-2);
                    if ($tmp_desetice<20) {
                    $slovima.=$jedinice[intval($tmp_desetice)];
                    }
                    if ($tmp_desetice==20) { $slovima.='dvadeset';}
                    if (($tmp_desetice > 20) && ($tmp_desetice<100)) {
                    $tmp_desetice=ltrim($tmp_desetice,'0');
                    $slovima.=$desetice[$tmp_desetice[0]-1];
                    if ($b < ($delova-1)) {
                                                $slovima.=$jedinice2[$tmp_desetice[1]];
                                                } else {
                                                $slovima.=$jedinice[$tmp_desetice[1]];
                                                }
                    }
    
  }
    
    if ($delovi[$b]==100) { $slovima='sto';}
    if ($delovi[$b]==20) { $slovima='dvadeset';}
    
    if    ($b < ($delova-1)) {
        if ($delova==3) {
            if ($b==0) {
                $prilog=$milioni[substr($delovi[$b], -1)];
                } else {
                $prilog=$hiljade[substr($delovi[$b], -1)];
                }
            } else {
                $prilog=$hiljade[substr($delovi[$b], -1)];
            }
        }
    $slovima_final.=$slovima.$prilog;
    $slovima='';
    $prilog='';
  }
    
    
    
    return $slovima_final;
    }
}
?>


edit: ispravljen kod :)

[Ovu poruku je menjao shadow-bg dana 11.11.2013. u 21:13 GMT+1]

[Ovu poruku je menjao shadow-bg dana 11.11.2013. u 21:24 GMT+1]
 
Odgovor na temu

[es] :: PHP :: Pretvaranje brojeva u slova

[ Pregleda: 3465 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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