Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Membandingkan Nombor Titik Terapung dengan Tepat dalam Python?
Membandingkan Nombor Titik Terapung dengan Ketepatan dalam Python
Dalam bidang pengaturcaraan, membandingkan nombor titik terapung untuk kesaksamaan memberikan cabaran. Seperti yang diserlahkan oleh pakar seperti Bruce Dawson, menentukan kesaksamaan adalah rumit dengan membulatkan ralat dan had ketepatan.
Adakah terdapat Penyelesaian dalam Python?
Python menawarkan pelbagai penyelesaian kepada isu ini. Terutama, Python 3.5 memperkenalkan fungsi math.iclose dan cmath.iclose, mengikut panduan PEP 485. Fungsi ini menyediakan cara yang boleh dipercayai untuk membandingkan nombor titik terapung untuk kesamaan anggaran.
Butiran Pelaksanaan:
import math # Compare two floating-point numbers for almost-equality result = math.isclose(0.1, 0.10000000000000001, rel_tol=1e-09, abs_tol=0.0)
Fungsi Tersuai untuk Terdahulu Versi Python:
Untuk versi Python sebelum 3.5, dokumentasi mencadangkan fungsi tersuai berikut:
def isclose(a, b, rel_tol=1e-09, abs_tol=0.0): return abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
Parameter Diterangkan:
Menggunakan sama ada fungsi math.iclose atau tersuai fungsi memastikan perbandingan tepat nombor titik terapung untuk kesaksamaan anggaran, menangani cabaran yang ditimbulkan oleh isu ketepatan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Nombor Titik Terapung dengan Tepat dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!