Banyak
cara dalam VB untuk membulatkan suatu bilangan/ angka desimal menjadi bilangan
bulat. Jika Anda belum paham, berikut penjelasan singkatnya :
- Pembulatan
Otomatis
Pembulatan ini dilakukan secara otomatis tergantung bilangannya.
Jika angka utamanya adalah ganjil dan angka desimalnya >= 0,5 maka dilakukan pembulatan ke atas (angka utama ditambah 1) dan bila angka desimalnya < 0,5 maka dilakukan pembulatan ke bawah.
Namun jika angka utamanya adalah 0 atau genap dan angka desimalnya > 0,5 maka dilakukan pembulatan ke atas dan bila angka desimalnya <= 0,5 maka dilakukan pembulatan ke bawah.
i = CInt(0.4) , hasilnya 0
i = CInt(0.5) , hasilnya 0
i = CInt(0.6) , hasilnya 1
i = CInt(1.4) , hasilnya 1
i = CInt(1.5) , hasilnya 2
i = CInt(1.6) , hasilnya 2
- Pembulatan
Selalu ke Bawah
Pembulatan ini dilakukan selalu ke bawah berapapun angka desimalnya. Dengan kata lain akan menghilangkan angka desimalnya.
i = Int(1.1) , hasilnya 1
i = Int(1.5) , hasilnya 1
i = Int(1.8) , hasilnya 1
- Pembulatan
Selalu ke Atas
Pembulatan ini dilakukan selalu ke atas berapapun angka desimalnya.
i = -Int(-(1.1)) , hasilnya 2
i = -Int(-(1.5)) , hasilnya 2
i = -Int(-(1.8)) , hasilnya 2
- Pembulatan Yang
Ditentukan
Pembulatan ini dilakukan sesuai dengan Batas yang telah ditentukan.
Jadi bila angka desimalnya >= Batas maka dilakukan pembulatan ke atas dan bila angka desimalnya < Batas maka dilakukan pembulatan ke bawah.
Misalnya Batas yang ditentukan adalah 0,4 kodenya seperti ini :
Dim Nilai As Double, Hasil As Long
Nilai = 1.4 'bilangan yg akan dibulatkan
Hasil = Int(Nilai) + IIf(CDbl(CStr(Nilai -
Int(Nilai))) >= 0.4, 1, 0) 'Batas = 0,4
MsgBox Hasil 'pesan Hasil = 2
Demikian tutorial kali ini, semoga bermanfaat .
Sob Teng-Kiyu bgt neh,,,
ReplyDeleteMoga bermanfaat ya sob Blog ente.
Terima Kasih
gak jalan kang:
ReplyDeleteIf TextBox5.Text > "0" Then
Label11.Show()
LabelJmlPlno.Show()
v = TextBox5.Text / w
LabelJmlPlno.Text = -Int(v) & " lembar"
End If
hasilnya 0, harusnya khan 1 ya
DeleteIf val(TextBox5.Text) > 0 Then
ReplyDeleteLabel11.Show()
LabelJmlPlno.Show()
v = TextBox5.Text / w
LabelJmlPlno.Text = -Int(v) & " lembar"
End If
Makasih, saya sudah bisa sekarang, lanjutkan...
ReplyDelete