Skip to content

Instantly share code, notes, and snippets.

@ikr4-m
Created September 19, 2019 13:42
Show Gist options
  • Save ikr4-m/fd0286606a0cc8a1410ef60467bcf9db to your computer and use it in GitHub Desktop.
Save ikr4-m/fd0286606a0cc8a1410ef60467bcf9db to your computer and use it in GitHub Desktop.
Ubah tampilan uangmu dalam bentuk JS
/**
* Diambil dari https://www.malasngoding.com/membuat-format-rupiah-dengan-javascript/
* Dimodifikasi sendiri oleh saya, Ikramullah Latif @github/skymunn
*/
/**
* Uang menjadi fixed
* @param {string} angka Harus string karena ada fungsi String.replace masalahnya
* @param {string} prefix Prefix uang, kosongkan kalau mau tetap rupiah
*/
function formatRupiah (angka, prefix) {
var numberString = angka.replace(/[^,\d]/g, '').toString()
var split = numberString.split(',')
var sisa = split[0].length % 3
var rupiah = split[0].substr(0, sisa)
var ribuan = split[0].substr(sisa).match(/\d{3}/gi)
// tambahkan titik jika yang di input sudah menjadi angka ribuan
if (ribuan) {
separator = sisa ? '.' : ''
rupiah += separator + ribuan.join('.')
}
rupiah = split[1] !== undefined ? rupiah + ',' + split[1] : rupiah
return typeof prefix !== 'undefined' ? rupiah : (rupiah ? 'Rp. ' + rupiah : '')
}
/**
* Uang yang sudah dikasi model dikasi jadi angka biasa
* @param {string} angka Harus string karena ada fungsi String.replace masalahnya
* @param {string} prefix Prefix uang, kosongkan kalau mau tetap rupiah
*/
function originalValueRupiah (angka, prefix) {
const p = typeof prefix === 'undefined' ? 'Rp. ' : prefix
return `${angka}`.split(p)[1].split('.').join('')
}
// Test
console.log(formatRupiah('250000')) // Ini rupiah
console.log(formatRupiah('2500', '$ ')) // Ini dolar
console.log(originalValueRupiah('Rp. 12.000')) // Kasi kembali nilainya
@NikarashiHatsu
Copy link

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment