Berikut ini adalah cara memformat angka menjadi style Indonesia, yaitu antara kelipatan ribuan dipisahkan dengan karakter titik, dan menambahkan dua digit bilangan nol di belakang koma. Jika Regional Setting di PC menggunakan setting US atau English atau default Internasional, maka jika menggunakan fungsi Format(50000, "#,#") atau jika menggunakan fungsi FormatNumber(50000, 2) hasilnya bisa menjadi:
50,000.00 atau jika setting PC Indonesia maka menjadi 50.000,00.
Fungsi buatan di bawah ini mengubahnya secara fix menjadi setting Indonesia, yaitu: 50.000,00 dan tidak terpengaruh dengan Regional Settings, apakah Internasional atau setting Indonesia di visual basic 6, untuk mempraktekannya siapkan :
1. Buat 1 Project baru dengan 1 Form, 1 Commandbutton, dan 1 TextBox50,000.00 atau jika setting PC Indonesia maka menjadi 50.000,00.
Fungsi buatan di bawah ini mengubahnya secara fix menjadi setting Indonesia, yaitu: 50.000,00 dan tidak terpengaruh dengan Regional Settings, apakah Internasional atau setting Indonesia di visual basic 6, untuk mempraktekannya siapkan :
2. Copy-kan coding berikut ke dalam editor form yang bertalian.
'Masukkan bilangan di Text1, lalu tekan Enter untuk
'menampilkan angka dalam format Indonesia
Private Sub Command1_Click()
MsgBox FormatAngka(Text1.Text)
Text1.SetFocus
SendKeys "{Home}+{End}"
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Command1.Default = True
End Sub
'Parameter Angka bertipe Variant, untuk mengatasi
'apakah input dalam tipe data apapun
Public Function FormatAngka(Angka) As String
'Variabel yang digunakan di fungsi
Dim Jumlah As Integer, Jumlah1 As Integer
Dim i As Integer, j As Integer, k As Integer
Dim strAngka As String, strAngka1 As String
Dim strAngkaFull As String
Dim strTemp As String, strTemp1 As String
'Tampung nilai angka ke dalam variabel string
strAngka = CStr(Trim(Angka))
'Karena parameternya bertipe angka bulat, maka tidak boleh
'ada karakter lainnya (termasuk titik dan koma)
'selain karakter angka saja...
If InStr(1, strAngka, ".") > 0 Or _
InStr(1, strAngka, ",") > 0 Or _
Not IsNumeric(Angka) Then
MsgBox "Harus bilangan bulat dan tidak" & vbCrLf & _
"boleh mengandung karakter" & vbCrLf & _
"titik atau koma.", _
vbCritical, "Bukan Bilangan Bulat"
Exit Function
End If
'Tambahkan dua angka nol di belakang string strAngka
strAngkaFull = strAngka & "00"
'Tampung jumlah digit
Jumlah = Len(Trim(strAngkaFull))
'Inisialisasi untuk counter menghitung per karakter
j = 0
strTemp = ""
'Ulangi setiap karakter mulai dari kanan ke kiri
For i = Jumlah To 1 Step -1 'Step -1 = berkurang 1
j = j + 1 'Counter untuk semua karakter
k = k + 1 'Counter untuk letak tanda titik
'Tampung setiap satu karakter ke strTemp
strTemp = strTemp & Mid(strAngkaFull, i, 1)
'Jika counter = 2 (untuk letak tanda koma desimal)
If j = 2 Then
'Tambahkan karakter koma
strTemp = strTemp & ","
'Inisialisasi kembali counter untuk titik
k = 0
End If
'Jika counter utk titik = 3 dan
'belum mencapai digit akhir paling kiri (awal).
'Hal ini untuk menghindari karakter titik di akhir...
If k = 3 And i <> 1 Then
'Tambahkan karakter titik
strTemp = strTemp & "."
'Inisialisasi kembali counter untuk
'menentukan posisi titik
k = 0
End If
Next i 'Maju ke karakter berikutnya
'Tampung jumlah karakter strTemp yang berasal
'dari iterasi di atas ini
Jumlah1 = Len(Trim(strTemp))
'Iterasi berikut untuk membalikkan posisi bilangan
For i = Jumlah1 To 1 Step -1
strTemp1 = strTemp1 & Mid(strTemp, i, 1)
Next i
'Kembalikan nilai string yg fix ke fungsi FormatAngka
FormatAngka = strTemp1
End Function
Tags:
contoh program vb6, contoh fungsi di vb6, cara penggunaan fungsi vb, tutorial vb6, download tutorial vb6, vb6 tutorial download, dasar dasar vb6, belajar vb6, cara mudah belajar vb6, vb6 artikel download, vb6 blog, contoh program vb6, artikel vb6, semua tentang vb6, vb6 api, cara menggunakan module, cara menggunakan class module
0 komentar:
Posting Komentar