Yukihiro "Matz" Matsumoto

Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
Yukihiro "Matz" Matsumoto, Creator of Ruby

Jumat, 17 Oktober 2014

Konversi Angka Kedalam Format Currency Dengan Rails NumberHelper

Apabila anda mempunyai data yang berupa angka yang merepresentasikan kurs mata uang tertentu dalam database anda, tentunya pada saat anda ingin menampilkan angka tersebut, anda menginginkan agar tampilan representasi dari angka tersebut sesuai dengan penulisan kurs mata uang secara umum.

Rails memiliki built in NumberHelper class yang membantu anda untuk melakukan format pada tampilan angka anda ke dalam bentuk kurs. Method ini memiliki nama number_to_currency. Untuk melakukan testing secara langsung terhadap cara kerja method ini anda dapat langsung mencobanya dengan menggunakan rails console dengan mengetik rails console di comman line terminal anda.

Method ini menerima 2 argumen, numbers_to_method(number, option = {}). Yang pertama sebagai parameter wajib adalah angka yang ingin diformat, yang kedua adalah hashes opsional yang berisi bermacam-macam key seperti locale, unit, separator, delimiter.


Pada kode diatas, menggunakan rails console, method helper ini dapat diakses dengan menggunakan variable helper. Pada kode yang pertama diberikan nilai 500 sebagai argumen, dan hasil yang dikeluarkan adalah string $500.00. Secara default, method ini menggunakan format locale dari sistem yang sedang kita gunakan. Untuk melakukan kustomisisasi anda dapat menggunakan parameter opsional yang berada dalam hashes. Pada contoh di atas, digunakan unit dengan value Rp, separator dengan nilai , yang digunakan sebagai separator pada untuk nilai fraksi angka anda, dan yang terakhir adalah delimiter yang digunakan sebagai pembatas pada 3 tiap digit angka anda. Hasil yang dikeluarkan untuk 1000000 adalah Rp1.000.000.000,00.

Semoga tips ini bermanfaat untuk anda yang menggunakan RAILS untuk mengembangkan online store atau segala sesuatu yang berhubungan dengan uang.

1 komentar: