hafidh

Java Script - Money Convert (to string)

Apr 4th, 2012
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // html
  2. // <form name='input' action='' >
  3. // <input type='text' name='nilai' />
  4. // <textarea cols=50 rows=5 name='hasil'></textarea>
  5. // </form>
  6.  
  7. //membuat variable global yang akan di tampilkan agar mudah dirubah.
  8. var text = "";
  9.  
  10. function moneyConvert(){
  11.     // memberikkan nilai awal agar variabel text berisi string kosong
  12.     text = " ";
  13.     document.input.hasil.value = " ";
  14.     // mengambil nilai dari inputan
  15.     var n = document.input.nilai.value;
  16.     // membuat variable untuk menampung hasil dari ribuan,ratusan,...
  17.     var ribu;
  18.     var ratus;
  19.     var puluh;
  20.     var satuan;
  21.     // memanggil fungsi
  22.     n = cekRibuan(n);
  23.     n = cekRatusan(n);
  24.     n = cekPuluhan(n);
  25.    
  26.     // untuk cek satuan juga bisa di jadikan fungsi,
  27.     // *tapi pada contoh init tidak dijadikan sebagai fungsi
  28.     if( n >= 1){
  29.         satuan = n / 1;
  30.         n %= 1;
  31.         text += toText(satuan);
  32.     }
  33.     document.input.hasil.value = text+"\n";
  34. }
  35.  
  36. function cekRibuan(n){
  37.     // periksa nilai, apakah lebih dari 1000
  38.     if( n >= 1000){
  39.         // memeriksa berapa nilai ribuan, untuk di tampilkan
  40.         ribu = n / 1000;
  41.         // buletin angka
  42.         ribu = Math.floor(ribu);
  43.         ribu = cekRatusan(ribu);
  44.         ribu = cekPuluhan(ribu);
  45.         // mengambil sisa untuk memeriksa ratusan
  46.         n %= 1000;
  47.         // memeriksa apakah ribuan bernilai 1,
  48.         if (ribu == 1) {
  49.             // membuat dan menggabungkan text
  50.             // text saat ini "seribu "
  51.             text += "Seribu ";
  52.         }else{
  53.             // membuat dan menggabungkan text
  54.             // text saat ini "<number> ribu " ex: 3 ribu
  55.             ribu == 0 ? text += " ribu " : text += toText(ribu)+" ribu ";
  56.         }
  57.     }
  58.     return n;
  59. }
  60.  
  61. // untuk fungsi dibawahnya memiliki cara kerja yang sama
  62. function cekRatusan(n){
  63.     if( n >= 100){
  64.         ratus = n / 100;
  65.         n %= 100;
  66.         ratus = Math.floor(ratus);
  67.         if (ratus == 1) {
  68.             text += "seratus ";
  69.         }else{
  70.             text += toText(ratus)+" ratus ";
  71.         }
  72.     }
  73.     return n;
  74. }
  75.  
  76. function cekPuluhan(n){
  77.     if( n >= 10){
  78.         puluh = n / 10;
  79.         n %= 10;
  80.         puluh = Math.floor(puluh);
  81.         if (puluh == 1) {
  82.         // memeriksa apakah sisanya nol / lebih
  83.         // jika lebih maka angkanya 11,12,13,14,... harus dirubah ke belasan
  84.             if(n == 0){
  85.             // jika sisanya nol / angka = 10
  86.                 text += "sepuluh ";
  87.                 n = cekSatuan(n);
  88.             }else{
  89.             // jika angka lebih dari 0
  90.                 if( n == 1){
  91.                 // jika nilai angkanya 11
  92.                     text += "sebelas";
  93.                 }else{
  94.                 // jika nilai angka lebih dari 11
  95.                     text +=toText(n)+" belas";
  96.                 }
  97.             }
  98.         }else{
  99.             text += toText(puluh)+" puluh ";
  100.             n = cekSatuan(n);
  101.         }
  102.     }
  103.     return n;
  104. }
  105.  
  106. function cekSatuan(n){
  107.     if( n >= 1){
  108.         satuan = n / 1;
  109.         n %= 1;
  110.         text += toText(satuan);
  111.     }
  112.     return n;
  113. }
  114. // fungsi yang digunakan untuk merubah angka ke string
  115. function toText(n){
  116.     var str;
  117.     switch(n){
  118.         case 1 : str = "satu ";break;
  119.         case 2 : str = "dua ";break;
  120.         case 3 : str = "tiga ";break;
  121.         case 4 : str = "empat ";break;
  122.         case 5 : str = "lime ";break;
  123.         case 6 : str = "enam ";break;
  124.         case 7 : str = "tujuh ";break;
  125.         case 8 : str = "delapan ";break;
  126.         case 9 : str = "sembilan ";break;
  127.         default : break;
  128.     }
  129.     return str;
  130. }
Add Comment
Please, Sign In to add comment