Skip to content

Instantly share code, notes, and snippets.

@williamn
Created July 20, 2011 04:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save williamn/1094368 to your computer and use it in GitHub Desktop.
Save williamn/1094368 to your computer and use it in GitHub Desktop.
Terbilang - Konversi bilangan menjadi kalimat dalam Bahasa Indonesia
<?php
class Number
{
function spell($number)
{
$words = array(
"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh",
"Delapan", "Sembilan", "Sepuluh", "Sebelas"
);
switch($number)
{
case $number < 12:
return trim($words[$number]);
break;
case $number < 20;
return trim($this->spell($number - 10) . " Belas");
break;
case $number < 100:
return trim($this->spell($number / 10) . " Puluh " . $this->spell($number % 10));
break;
case $number < 200:
return trim("Seratus " . $this->spell($number - 100));
break;
case $number < 1000:
return trim($this->spell($number / 100) . " Ratus " . $this->spell($number % 100));
break;
case $number < 2000:
return trim("Seribu " . $this->spell($number - 1000));
break;
case $number < 1000000:
return trim($this->spell($number / 1000) . " Ribu " . $this->spell($number % 1000));
break;
case $number < 1000000000:
return trim($this->spell($number / 1000000) . " Juta " . $this->spell($number % 1000000));
break;
case $number < 1000000000000:
return trim($this->spell($number / 1000000000) . " Milyar " . $this->spell($number % 1000000000));
}
}
}
@abcikaaa
Copy link

17.288.724

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment