Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1
[PHP & Javascript] Fungsi terbilang dengan sen dan format angka dengan desimal
Perasaan dulu pak boo dah pernah posting fungsi terbilang pake javascript deh, tapi kemana ya? 
PHP (format angka & terbilang) :
diskusiweb.com/discussion/comment/280669/#Comment_280669
Javascript (format angka & terbilang) :
versi 1
diskusiweb.com/discussion/comment/265065/#Comment_265065
masalah versi 1
diskusiweb.com/discussion/comment/280655/#Comment_280655
versi 2
diskusiweb.com/discussion/comment/280656/#Comment_280656
diskusiweb.com/discussion/comment/280657/#Comment_280657
Javascript hanya format angka (bukan terbilang) :
menggunakan .toLocaleString(), ada keterbatasan
diskusiweb.com/discussion/comment/280674/#Comment_280674

yang pake desimal.
PHP (format angka & terbilang) :
diskusiweb.com/discussion/comment/280669/#Comment_280669
Javascript (format angka & terbilang) :
versi 1
diskusiweb.com/discussion/comment/265065/#Comment_265065
masalah versi 1
diskusiweb.com/discussion/comment/280655/#Comment_280655
versi 2
diskusiweb.com/discussion/comment/280656/#Comment_280656
diskusiweb.com/discussion/comment/280657/#Comment_280657
Javascript hanya format angka (bukan terbilang) :
menggunakan .toLocaleString(), ada keterbatasan
diskusiweb.com/discussion/comment/280674/#Comment_280674
Tagged:
Comments
eh, terbilang yo ?
search : terbilang
gw malah ketemunya pake gugel ...
https://www.google.co.id/search?q="sen"+site:diskusiweb.com
soalnya malah inget pernah nulis kagak tau ejaan buat "sen" nya
sekalian dah diberesin :
<script>
var thoudelim=".";
var decdelim=",";
var curr="Rp ";
var d=document;
// format(1000000.5,3) : 1.000.000,500
// format(1000000.55555,3) : 1.000.000,556
function format(s,r) {
s=Math.round(s*Math.pow(10,r))/Math.pow(10,r);
s=String(s);s=s.split(".");var l=s[0].length;var t="";var c=0;
while(l>0){t=s[0][l-1]+(c%3==0&&c!=0?thoudelim:"")+t;l--;c++;}
s[1]=s[1]==undefined?"0":s[1];
for(i=s[1].length;i<r;i++) {s[1]+="0";}
return curr+t+decdelim+s[1];
}
function threedigit(word) {
eja=Array("Nol","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan");
while(word.length<3) word="0"+word;
word=word.split("");
a=word[0];b=word[1];c=word[2];
word="";
word+=(a!="0"?(a!="1"?eja[parseInt(a)]:"Se"):"")+(a!="0"?(a!="1"?" Ratus":"ratus"):"");
word+=" "+(b!="0"?(b!="1"?eja[parseInt(b)]:"Se"):"")+(b!="0"?(b!="1"?" Puluh":"puluh"):"");
word+=" "+(c!="0"?eja[parseInt(c)]:"");
word=word.replace(/Sepuluh ([^ ]+)/gi, "$1 Belas");
word=word.replace(/Satu Belas/gi, "Sebelas");
word=word.replace(/^[ ]+$/gi, "");
return word;
}
// 1 SEN = 1/100 RUPIAH = 0.01 RUPIAH
// sayit(1000000) : SATU JUTA RUPIAH
// sayit(1000000.5) = 1000000.50 : SATU JUTA RUPIAH LIMA PULUH SEN
// sayit(1000000.05) : SATU JUTA RUPIAH LIMA SEN
// sayit(1000000.11) : SATU JUTA RUPIAH SEBELAS SEN
// sayit(1000000.55555) = 1000000.56 : SATU JUTA RUPIAH LIMA PULUH ENAM SEN
function sayit(s) {
var thousand=Array("","Ribu","Juta","Milyar","Trilyun");
s=Math.round(s*Math.pow(10,2))/Math.pow(10,2);
s=String(s);s=s.split(".");
var word=s[0];
var cent=s[1]?s[1]:"0";
if(cent.length<2) cent+="0";
var subword="";i=0;
while(word.length>3) {
subdigit=threedigit(word.substr(word.length-3, 3));
subword=subdigit+(subdigit!=""?" "+thousand[i]+" ":"")+subword;
word=word.substring(0, word.length-3);
i++;
}
subword=threedigit(word)+" "+thousand[i]+" "+subword;
subword=subword.replace(/^ +$/gi,"");
word=(subword==""?"NOL":subword.toUpperCase())+" RUPIAH";
subword=threedigit(cent);
cent=(subword==""?"":" ")+subword.toUpperCase()+(subword==""?"":" SEN");
return word+cent;
}
document.write(format(1000000.5,3)+"<br>");
document.write(format(1000000.55555,3)+"<br>");
document.write(sayit(1000000)+"<br>");
document.write(sayit(1000000.5)+"<br>");
document.write(sayit(1000000.05)+"<br>");
document.write(sayit(1000000.11)+"<br>");
document.write(sayit(1000000.55555)+"<br>");
</script>
[1]
Akan bermasalah jika menghadapi angka ekstra besar
Misal : 1234567890123456789012345678.901234567890123
[2]
Perbandingan di PHP dengan menggunakan NumberFormatter class
extension=php_intl.dll
Bahasa Inggris Hasil
Bahasa Indonesia Hasil
Ada KESALAHAN PENGEJAAN di situ.
Dasar pengejaan menggunakan angka format internasional, dimana angka desimal memakai separator "." / TITIK
Padahal pada bahasa Indonesia, pemisah desimal itu "," / KOMA
Seharusnya dieja :
satu juta dua ratus tiga puluh empat ribu lima ratus enam puluh tujuh KOMA delapan sembilan
Jika menggunakan KOMA :
... KOMA delapan sembilan (angka dieja satu persatu)
Berbeda dgn jika menyebut SEN :
... delapan PULUH sembilan SEN (angka dieja dengan puluhan)
Batas SEN hanya 0 - 99, karena 100 sen = 1 rupiah
Minimal : nol sen
Maksimal : sembilan puluh sembilan sen
Rupiah saat ini memang tidak menggunakan SEN, penulisan hanya sekedar formalitas saja.
Berangkat dari pengejaan ini berarti ada 2 jenis bentuk terbilang.
- menggunakan KOMA (belum ada di koding awal)
POINT dlm bahasa Inggris : 100.56 = one hundred POINT five six
KOMA dlm bahasa Indonesia : 100,56 = seratus KOMA lima enam
- menggunakan SEN (sudah ada di koding awal)
CENTS dlm bahsa Inggris : 100.56 = one hundred AND fifty six CENTS
SEN dlm bahasa Indonesia :
... bisa menggunakan DAN
100.56 = seratus DAN lima puluh enam SEN
... bisa menggunakan RUPIAH
100.56 = seratus RUPIAH lima puluh enam SEN
format angka tinggal pake : number_format()
terbilang tinggal pake : NumberFormatter
ada keterbatasan tidak bisa untuk angka ekstra panjang
masalah SEN atau KOMA ... tinggal buat fungsi sendiri ...
dari tret lama tahun 2013 ...
http://diskusiweb.com/discussion/comment/257835/#Comment_257835 tahun segitu ...
- NumberFormatter belum bisa spellout indonesia
- hasil pengejaannya beda :
123456
one hundred and twenty-three thousand, four hundred and fifty-six
sekarang dgn angka yg sama :
one hundred twenty-three thousand four hundred fifty-six
tanpa "and" dan tanda "," (koma)
bisa di set mau memakai format angka inggris / indonesia
tapi ada keterbatasan juga ... - pembulatan angka maksimal 3 digit, pembulatan 1-2 digit ditambah menggunakan Math.round()
- panjang angka maksimal 15 digit (panjang bilangan bulat + desimal), sisanya dibulatkan
- tidak bisa untuk angka ekstra panjang
- angka yg berupa string tidak diproses