Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengesahkan Penukaran Rentetan ke Terapung dalam Python?

Bagaimanakah Saya Boleh Mengesahkan Penukaran Rentetan ke Terapung dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 15:38:17267semak imbas

How Can I Reliably Verify String Conversion to Float in Python?

Mengesahkan Penukaran Rentetan kepada Terapung dalam Python

Walaupun menukar rentetan kepada integer dalam Python adalah mudah, pengendalian nombor titik terapung boleh menjadi rumit. Kaedah partition('.') menawarkan penyelesaian dengan membedah rentetan dan menyemak bahagian berangka di sekeliling titik perpuluhan. Walau bagaimanapun, ini melibatkan pernyataan if yang kompleks.

Alternatif kepada Pendekatan Berasaskan Partition

Pertimbangkan untuk menggunakan mekanisme cuba/tangkap seperti yang dicadangkan dalam soalan sebelumnya. Pendekatan ini melibatkan membungkus penukaran dalam blok cuba dan mengendalikan potensi ValueError jika penukaran gagal.

Perlaksanaan Blok Cuba/Tangkap:

try:
    float(element)
except ValueError:
    print("Not a float")

Lazim Penyelesaian Ekspresi

Satu lagi pilihan berdaya maju ialah menggunakan biasa ungkapan:

import re
if re.match(r'^-?\d+(?:\.\d+)$', element) is None:
    print("Not float")

Ungkapan ini mengesahkan format rentetan sebagai nombor titik terapung.

Merit Pendekatan Berbeza

  • Partition: Memerlukan pernyataan if yang terperinci tetapi memberikan kawalan yang tepat ke atas rentetan pengesahan.
  • Cuba/Tangkap: Struktur kod yang lebih ringkas tetapi tidak dapat membezakan antara ralat penukaran dan limpahan.
  • Ungkapan Biasa: Menyediakan ringkasan penyelesaian tetapi kurang disesuaikan daripada yang lain pendekatan.

Akhirnya, pilihan pendekatan bergantung pada keperluan khusus aplikasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Penukaran Rentetan ke Terapung 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