Adakah cara yang lebih optimal dari coding dibawah ini ???? agar lebih simple

 'fungsi yang digunakan untuk mengubah angka menjadi text
Public Function Terbilang(x As Currency) Dim triliun As Currency
Dim milyar As Currency Dim juta As Currency Dim ribu As Currency Dim satu As Currency Dim sen As Currency
Dim baca As String

If x > 0 Then
'Pisah masing-masing bagian untuk triliun, milyar, juta, ribu, rupiah, dan sen triliun = Int(x * 0.001 ^ 4)
milyar = Int((x - triliun * 1000 ^ 4) * 0.001 ^ 3)
juta = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3) / 1000 ^ 2)
ribu = Int((x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2) / 1000)
satu = Int(x - triliun * 1000 ^ 4 - milyar * 1000 ^ 3 - juta * 1000 ^ 2 - ribu *
1000)
sen = Int((x - Int(x)) * 100)
'Baca bagian triliun dan ditambah akhiran triliun
If triliun > 0 Then
baca = ratus(triliun, 5) + "triliun " End If
'Baca bagian milyar dan ditambah akhiran milyar
If milyar > 0 Then
baca = ratus(milyar, 4) + "milyar " End If
'Baca bagian juta dan ditambah akhiran juta
If juta > 0 Then
baca = baca + ratus(juta, 3) + "juta " End If
'Baca bagian ribu dan ditambah akhiran ribu
If ribu > 0 Then
baca = baca + ratus(ribu, 2) + "ribu " End If
'Baca bagian rupiah dan ditambah akhiran rupiah
If satu > 0 Then
baca = baca + ratus(satu, 1) End If
'Baca bagian sen dan ditambah akhiran sen
If sen > 0 Then
baca = baca + ratus(sen, 0) + "sen" End If
End If
Terbilang = UCase(Left(baca, 1)) & LCase(Mid(baca, 2)) End Function

avatar vesdalt
@vesdalt

2 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

1 Jawaban:

Mungkin bisa pake fungsi Length() yang menghitung jumlah karakter, terus lakukan pengecekan menggunakan perulangan FOR atau WHILE yang mengecek jumlah karakternya, jika jumlah karakter nya 7 satuannya adalah Juta, 6 satuannya adalah ratus ribu

avatar hhaswan
@hhaswan

4 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban