Fungsi bilangan bulat terdekat dengan Python
Python dan pembulatan
Perpustakaan matematika Python menawarkan paket metode yang berguna untuk membulatkan angka desimal ke dalam bilangan bulat. Anda dapat membulatkan angka dengan cara tradisional (ke bilangan bulat lebih kecil terdekat di bagian pecahan 0, 4 atau kurang, dan ke bagian terbesar 0, 5 atau lebih) menggunakan metode "bulat ()". Contoh berikut menunjukkan cara membulatkan angka desimal menggunakan metode "bulat":
f = 5.455 putaran (f) 5, 0 putaran (f, 2) // putaran ke 2 desimal 5.46
Metode atap dan lantai
Sebagai bagian dari perpustakaan matematika, metode "floor ()" dan "ceil ()" menyediakan cara unik untuk membulatkan desimal yang mungkin berguna dalam perhitungan tertentu. Metode tanah berputar ke bilangan bulat lebih kecil terdekat ke infinity negatif (terlepas dari nilai desimal), dan metode atap membulatkannya ke bilangan bulat terdekat ke infinity positif. Contoh berikut menunjukkan bagaimana dua fungsi berfungsi:
impor matematika f = 3, 5 g = -3, 5 lantai (f) 3, 0 ceil (3, 5) 4, 0 lantai (g) -4, 0 ceil (g) -3, 0
Pembulatan dan keseluruhan
Operasi pembulatan yang digambarkan menunjukkan bagaimana menggunakan fungsi-fungsi ini, tetapi mereka juga memiliki efek samping: dalam versi Python sebelum 3.0, desimal bulat tidak dibulatkan ke bilangan bulat, tetapi ke desimal. Karena cara merepresentasikan desimal dalam arsitektur komputer, ini dapat menyebabkan masalah dalam penghitungan presisi tinggi di mana programmer memerlukan bilangan bulat. Anda dapat mengonversi bilangan mengambang ke bilangan bulat menggunakan metode "int ()", seperti dalam contoh ini:
f = 3, 5 round (f) 4.0 int (round (f)) 4
Metode contoh
Dengan menggunakan pengetahuan ini, Anda dapat mengembangkan metode untuk membulatkan desimal menjadi bilangan bulat dengan mudah. Contoh berikut menunjukkan contoh singkat dari metode yang menentukan atap dan lantai dari angka sebagai bilangan bulat, dan lainnya yang dibulatkan ke tempat desimal yang dipilih oleh pengguna (atau bilangan bulat):
import math def integerFloor (x) :. . . kembali int (floor (x)) def integerCeiling (x) :. . . kembali int (ceil (x)) pembulatan def (x, desember) :. . . jika dec == 0 :. . . kembali int (bulat (x)). . . lain:. . . return (round (x, dec))