Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
- function terbilangkoma($nilai, $digitKoma = 4) {
- $bil = Array();
- $bil['n'] = 'se';
- $bil['0'] = '';
- $bil['1'] = 'satu ';
- $bil['2'] = 'dua ';
- $bil['3'] = 'tiga ';
- $bil['4'] = 'empat ';
- $bil['5'] = 'lima ';
- $bil['6'] = 'enam ';
- $bil['7'] = 'tujuh ';
- $bil['8'] = 'delapan ';
- $bil['9'] = 'sembilan ';
- $bilGroup = Array();
- $bilGroup[3] = '';
- $bilGroup[6] = 'ribu ';
- $bilGroup[9] = 'juta ';
- $bilGroup[12] = 'miliyar ';
- $bilGroup[15] = 'triliun ';
- $ratus = 'ratus ';
- $puluh = 'puluh ';
- $belas = 'belas ';
- $nilai = (string) number_format($nilai, $digitKoma, ".", '');
- $out2 = '';
- $pisah = explode('.', $nilai);
- $pisahByComa = $pisah[0];
- $tigaDigit = str_split(strrev($pisahByComa), 3);
- $proc = 0;
- $out = '';
- foreach ($tigaDigit as $k => $angka) {
- $proc += 3;
- $perAngka = str_split($angka);
- $ratusan = '';
- foreach ($perAngka as $n => $a) {
- $satuAngka = $perAngka[$n];
- if ($n < 1) {
- if ($satuAngka == '1' && isset($perAngka[$n+1]) && $perAngka[$n+1] == '1') $satuAngka = 'n';
- $ratusan = $bil[$satuAngka] . (($satuAngka != '0' && isset($perAngka[$n+1]) && $perAngka[$n+1] == '1') ? $belas : '') . $ratusan;
- } else if ($n < 2) {
- if ($satuAngka == '1') $satuAngka = 'n';
- if ($satuAngka == 'n' && $perAngka[$n-1] != '0') $satuAngka = '0'; $ratusan = $bil[$satuAngka] . ($satuAngka != '0' ? $puluh : '') . $ratusan;
- } else if ($n < 3) {
- if ($satuAngka == '1') $satuAngka = 'n';
- $ratusan = $bil[$satuAngka] . $ratus . $ratusan;
- } else {
- $ratusan .= '';
- }
- }
- $out = $ratusan . $bilGroup[$proc] . $out;
- }
- $coma = $pisah[1];
- $out2 = '';
- foreach (str_split($coma) as $n => $a) {
- $out2 .= ($a == '0') ? 'nol ' : $bil[$a]; }
- return $out. 'koma '.$out2;
- }
- /* Location: ./application/helpers/terbilangkoma_helper.php */
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement