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');
// <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>