Tema: Re: php skaicius ->tekstas
Autorius: gopas
Data: 2010-09-02 22:36:45
naudojau sitas, rastos kazkur internete. trukumu kolkas nepastebeta.
naudojimas sk_to_lt(skaicius);

 // convert number to words
 function sk_to_lt($l) {
  $sk1000[0] = "tūkstantis ";
  $sk1000[1] = "tūkstančiai ";
  $sk1000[2] = "tūkstančių";

  $sk1000000[0] = "milijonas ";
  $sk1000000[1] = "milijonai ";
  $sk1000000[2] = "milijonø ";

  $minus = "minus ";
  
  $skaiz = "";

  if ($l < 0) {
   $skaiz = $skaiz . $minus;
   $l1 = $l*(-1); 
  } else $l1 = $l;
  
  // skaidom skaiciu
  $lv = $l1; 
  settype($lv,"integer"); 
  
  for ($i = 8; $i >= 0; $i--) {
   $ls =(integer)( $lv / 10);
   $ll = $lv % 10;
   $ld[$i] = $ll;
   $lv = $ls; 
  }
  
  // rasom zodzius
  $skaiz = $skaiz . simtai($ld[0],$ld[1],$ld[2]);
  
  // milijonai
  if ($ld[1] <> 1 and $ld[2] == 1) $skaiz = $skaiz . $sk1000000[0];
  if ($ld[1] <> 1 and $ld[2] <> 1 and $ld[2] <> 0) $skaiz = $skaiz . $sk1000000[1];
  if ($ld[1] == 1 and $ld[2] <> 0) $skaiz = $skaiz . $sk1000000[2];
  if (($ld[0] <> 0 or $ld[1] <> 0) and $ld[2] == 0) $skaiz = $skaiz . $sk1000000[2];
  
  $skaiz = $skaiz . simtai($ld[3],$ld[4],$ld[5]);

  // tukstanciai
  if ($ld[4] <> 1 and $ld[5] == 1) $skaiz = $skaiz . $sk1000[0];
  if ($ld[4] <> 1 and $ld[5] <> 1 and $ld[5] <> 0) $skaiz = $skaiz . $sk1000[1];
  if ($ld[4] == 1 and $ld[5] <> 0) $skaiz = $skaiz . $sk1000[2];
  if (($ld[3] <> 0 or $ld[4] <> 0) and $ld[5] == 0) $skaiz = $skaiz . $sk1000[2];

  $skaiz = $skaiz . simtai($ld[6],$ld[7],$ld[8]);
  
  return ucfirst ($skaiz); 
 }
 
 // convert number to words
 function simtai($s,$d,$v) {
  $sk1[0] = "vienas ";
  $sk1[1] = "du ";
  $sk1[2] = "trys ";
  $sk1[3] = "keturi ";
  $sk1[4] = "penki ";
  $sk1[5] = "šeši ";
  $sk1[6] = "septyni ";
  $sk1[7] = "aštuoni ";
  $sk1[8] = "devyni ";
  $sk1[9] = "dešimt ";
 
  $sk11[0] = "vienuolika ";
  $sk11[1] = "dvylika ";
  $sk11[2] = "trylika ";
  $sk11[3] = "keturiolika ";
  $sk11[4] = "penkiolika ";
  $sk11[5] = "šešiolika ";
  $sk11[6] = "septyniolika ";
  $sk11[7] = "aštuoniolika ";
  $sk11[8] = "devyniolika ";
  $sk11[9] = "dvidešimt ";
 
  $sk10[0] = "dešimt ";
  $sk10[1] = "dvidešimt ";
  $sk10[2] = "trisdešimt ";
  $sk10[3] = "keturiasdešimt ";
  $sk10[4] = "penkiasdešimt ";
  $sk10[5] = "šešiasdešimt ";
  $sk10[6] = "septyniasdešimt ";
  $sk10[7] = "aštuoniasdešimt ";
  $sk10[8] = "devyniasdešimt ";
  $sk10[9] = "šimtas ";
 
  $sk100[0] = "šimtas ";
  $sk100[1] = "šimtai ";
  
  $simtz = "";
  
  if ($s <> 0) {
   $simtz = $simtz . $sk1[$s-1];
   if ($s == 1) $simtz = $simtz . $sk100[0];
   else $simtz = $simtz . $sk100[1];
  }
 
  if ($d <> 0) {
   if ($d <> 1 or $v == 0) $simtz = $simtz . $sk10[$d-1];
  }
 
  if ($v <> 0) {
   if ($d == 1) $simtz = $simtz . $sk11[$v-1];
   else $simtz = $simtz . $sk1[$v-1];
  }
 
   return $simtz;
 } 


"saulius" <saulius.trint@myeweb.com> wrote in message news:cfe07f60dd14d25fa7f2aac82438b0ee$1@computer.newsgroups.lt...
> Gal kas turi koki ir pasidalintu skriptu, kuris 
> generuoja skaiciu iki tukstanciu lygyje i teksta
> pvz: intervalas 0.03ct= 3 centai iki 25 123=dvidesimt penki tukstanciai 
> simtas dvidesim trys.
> 
> Dekui
>
3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser