Zend - The PHP Company




Commerce

Add Code


Terbilang  

Type: code fragment
Added by: lesantoso
Entered: 01/12/2006
Last modified: 02/11/2005
Rating: - (fewer than 3 votes)
Views: 5518
A function that takes a number and spells it out in Indonesian language.


<?php
/**
* Indonesian number speller (PHP 4 or greater)
*
* @param string $number a string representing a positive, integral number with 15 digits or less
* @return string|false the spelled out number in Indonesian, or false if the number is invalid
* @author {@link http://www.lesantoso.com Lucky E. Santoso} <lesantoso@yahoo.com>
* @copyright Copyright (c) 2006 Lucky E. Santoso
* @license http://opensource.org/licenses/gpl-license.php The GNU General Public License (GPL)
*/  
function spellNumberInIndonesian ($number) {
    
$number strval($number);
    if (!
ereg("^[0-9]{1,15}$"$number)) 
        return(
false); 
    
$ones = array("""satu""dua""tiga""empat"
        
"lima""enam""tujuh""delapan""sembilan");
    
$majorUnits = array("""ribu""juta""milyar""trilyun");
    
$minorUnits = array("""puluh""ratus");
    
$result "";
    
$isAnyMajorUnit false;
    
$length strlen($number);
    for (
$i 0$pos $length 1$i $length$i++, $pos--) {
        if (
$number{$i} != '0') {
            if (
$number{$i} != '1')
                
$result .= $ones[$number{$i}].' '.$minorUnits[$pos 3].' ';
            else if (
$pos == && $number{$i 1} != '0') {
                if (
$number{$i 1} == '1'
                    
$result .= "sebelas "
                else 
                    
$result .= $ones[$number{$i 1}]." belas ";
                
$i++; $pos--;
            } else if (
$pos != 0)
                
$result .= "se".$minorUnits[$pos 3].' ';
            else if (
$pos == && !$isAnyMajorUnit)
                
$result .= "se";
            else
                
$result .= "satu ";
            
$isAnyMajorUnit true;
        }
        if (
$pos == && $isAnyMajorUnit) {
            
$result .= $majorUnits[$pos 3].' ';
            
$isAnyMajorUnit false;
        }
    }
    
trim($result);
    if (
$result == ""$result "nol";
    return(
$result);
}
?>


Usage Example




Rate This Script





Search



This Category All Categories