Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya Menjamin Nombor Pembundaran dalam Python?

Bagaimanakah saya Menjamin Nombor Pembundaran dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-23 12:13:10254semak imbas

How do I Guarantee Rounding Up Numbers in Python?

Membundarkan Nombor dalam Python: Menangani Percanggahan

Apabila bekerja dengan nombor dalam Python, operasi pembundaran sering digunakan. Satu tugas biasa ialah membundarkan nombor kepada integer terdekat. Walau bagaimanapun, menggunakan fungsi round() tradisional kadangkala boleh membawa kepada hasil yang tidak dijangka, membulatkan nombor ke bawah dan bukannya ke atas.

Meneroka Isu Pembundaran Ke Bawah

Pertimbangkan contoh berikut :

round(2.3)

Kod ini menjangkakan untuk menghasilkan 3 sebagai hasilnya, tetapi sebaliknya mengembalikan 2. Fungsi round() membundarkan nombor ke arah integer terdekat, yang dalam kes ini ialah 2.

Pendekatan Alternatif: Int() dan Percanggahan Pembundaran

Percubaan untuk menggunakan fungsi int() dengan offset kecil untuk dibundarkan, seperti int(2.3 0.5), juga gagal, sebaliknya menghasilkan 2 daripada 3 yang dikehendaki.

Cara yang Betul: Menggunakan Math.ceil

Penyelesaian terletak pada fungsi math.ceil (siling). Fungsi ini mengembalikan integer terkecil yang lebih tinggi atau sama dengan nombor yang ditentukan.

Untuk Python 3:

import math
print(math.ceil(4.2))

Kod ini dengan betul membundarkan 4.2 hingga 5.

Untuk Python 2:

import math
print(int(math.ceil(4.2)))

Dalam Python 2, fungsi ceil() mengembalikan apungan, jadi ia perlu dihantar ke integer menggunakan fungsi int().

Dengan menggunakan math.ceil, anda boleh memastikan bahawa nombor secara konsisten dibundarkan ke integer terdekat, mengelakkan gelagat pembundaran ke bawah yang tidak dijangka yang dihadapi dengan kaedah lain.

Atas ialah kandungan terperinci Bagaimanakah saya Menjamin Nombor Pembundaran dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn