Cara Membuat Fungsi terbilang Desimal (Berkoma) dengan php

Selamat sore sobat PHP[mu], apa kabar, pastinya baik lah ya, begitupun penulis sendiri, heheee pada sore ini sebelum pulang kantor saya mau share dikit informasi atau tutorial untuk sobat yang sedang bingung untuk membuat fungsi terbilang desimal atau berkoma di PHP. kebetulan juga beberapa menit yang lalu saya di minta bang bos untuk membuat terbilang untuk IPK (Indek Prestasi Kumulatif) dan IPS (Index Prestasi Semester) untuk sisfo di sebuah kampus di padang, emang agak aneh juga kalau di pikir2 baru kali ini ada kampus yang minta seperti ini, ini kampus sepertinya benar-benar Anti Mainstream, hahaaa,.

Untuk IPK dan IPS biasanya kan berkoma tu, jadi agak beda cara bikin terbilangnya dari membuat terbilang untuk rupiah yang memang sudah banyak referensinya di internet atau di mbah google, dan kalau untuk membuat terbilang rupiah biasa cukup dengan memanfaatkan function konversi nya saja pada script di bawah ini, oke lah kalau begitu, karena dah mau adzan dan saya juga udah mau pulang, langsung saja saya share coding untuk membuat terbilang berkomanya, silahkan di copas, cekidot!!!

<?php
function konversi($x){
  
  $x = abs($x);
  $angka = array ("","satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
  $temp = "";
  
  if($x < 12){
   $temp = " ".$angka[$x];
  }else if($x<20){
   $temp = konversi($x - 10)." belas";
  }else if ($x<100){
   $temp = konversi($x/10)." puluh". konversi($x%10);
  }else if($x<200){
   $temp = " seratus".konversi($x-100);
  }else if($x<1000){
   $temp = konversi($x/100)." ratus".konversi($x%100);   
  }else if($x<2000){
   $temp = " seribu".konversi($x-1000);
  }else if($x<1000000){
   $temp = konversi($x/1000)." ribu".konversi($x%1000);   
  }else if($x<1000000000){
   $temp = konversi($x/1000000)." juta".konversi($x%1000000);
  }else if($x<1000000000000){
   $temp = konversi($x/1000000000)." milyar".konversi($x%1000000000);
  }
  
  return $temp;
 }
  
 function tkoma($x){
  $str = stristr($x,",");
  $ex = explode(',',$x);
  
  if(($ex[1]/10) >= 1){
   $a = abs($ex[1]);
  }
  $string = array("nol", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan",   "sembilan","sepuluh", "sebelas");
  $temp = "";
 
  $a2 = $ex[1]/10;
  $pjg = strlen($str);
  $i =1;
    
  
  if($a>=1 && $a< 12){   
   $temp .= " ".$string[$a];
  }else if($a>12 && $a < 20){   
   $temp .= konversi($a - 10)." belas";
  }else if ($a>20 && $a<100){   
   $temp .= konversi($a / 10)." puluh". konversi($a % 10);
  }else{
   if($a2<1){
    
    while ($i<$pjg){     
     $char = substr($str,$i,1);     
     $i++;
     $temp .= " ".$string[$char];
    }
   }
  }  
  return $temp;
 }
 
 function terbilang($x){
  if($x<0){
   $hasil = "minus ".trim(konversi(x));
  }else{
   $poin = trim(tkoma($x));
   $hasil = trim(konversi($x));
  }
  
if($poin){
   $hasil = $hasil." koma ".$poin;
  }else{
   $hasil = $hasil;
  }
  return $hasil;  
 }

echo ucwords(terbilang('3,99'));
?>

oke, untuk keterangan dari scriptnya insyaallah nanti saya tambahin kalau ada waktu buka blog lagi, kalau ada yang salah atau yang janggal dengan scriptnya, harap di maklumi, sampai jumpa lagi di artikel berikutnya, CMIIW. 😀

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *