IDR
Indonesia Dolar Rupiah.
by Anov Siradj
HTML
<pre><b>Ingat!</b> di javascript/mysql/php pemisah desimal menggunakan <b>titik</b>.
Saya belum bisa implementasi di input langsung,
yaitu real-time ketika diketik.
v1. - konversi dengan manual.
- bisa menggunakan koma.
v2. - konversi dengan fungsi build-in browser,
dimana, belum semua browser didukung.
- belum bisa pakai koma.
</pre>
<input id="manl" value="0"/> <span></span>
<br/>
<input id="auto" value="0"/> <span></span>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
CSS
/*
inspirasi:
https://gist.github.com/faisalman/845309#file-convert-rupiah-js
referensi:
http://stackoverflow.com/a/23452017
http://stackoverflow.com/a/1431113
http://stackoverflow.com/a/149099
baru tahu, kenapa 'Rp' digabung:
http://uangindonesia.com/cara-menulis-mata-uang-rupiah-rp-benar/
*/
JavaScript
String.prototype.toIDR = function() {
var batas_akhir = this.lastIndexOf(',');
if(batas_akhir < 0) {
batas_akhir = this.lastIndexOf('.');
if(batas_akhir < 0) batas_akhir = this.length;
}
var n_angka = Number(this.substring(0, batas_akhir).replace(/[^0-9]/g,'')).
toLocaleString().replace(/\./g, '.').replace(/\,/g, '.');
var n_des = Number('0.' + this.substring(batas_akhir + 1).replace(/[^0-9]/g,'')).
toFixed(2).toString().substr(-2);
return 'Rp'+ n_angka + ','+ n_des;
}
String.prototype.localIDR = function() {
return Number(this).
toLocaleString('id-ID', {
style: 'currency',
currency: 'IDR',
minimumFractionDigits: 2
});
}
$('#manl').on('keyup change', function() {
$(this).next().text(this.value.toIDR());
}).trigger('keyup');
$('#auto').on('keyup change', function() {
$(this).next().text(this.value.localIDR());
}).trigger('keyup');