Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Memeriksa dengan Amanah sama ada Rentetan Python Mewakili Terapung?

Bagaimanakah Saya Boleh Memeriksa dengan Amanah sama ada Rentetan Python Mewakili Terapung?

Linda Hamilton
Lepaskan: 2024-11-24 15:49:25
asal
717 orang telah melayarinya

How Can I Reliably Check if a Python String Represents a Float?

Mengesahkan Keupayaan Penukaran Terapung dalam Rentetan Python

Apabila cuba menukar rentetan kepada jenis berangka, nombor titik terapung menimbulkan cabaran yang lebih besar berbanding integer. Untuk menentukan sama ada rentetan boleh diubah menjadi apungan, kaedah partition biasanya digunakan. Pendekatan ini melibatkan pembahagian rentetan dengan titik perpuluhannya (.) dan mengesahkan bahawa segmen yang terhasil mematuhi kriteria tertentu.

partition = element.partition('.')
if (partition[0].isdigit() and partition[1] == '.' and partition[2].isdigit()) 
    or (partition[0] == '' and partition[1] == '.' and partition[2].isdigit()) 
    or (partition[0].isdigit() and partition[1] == '.' and partition[2] == ''):
    newelement = float(element)
Salin selepas log masuk

Kaedah alternatif ialah menggunakan blok cuba/tangkap untuk melaksanakan penukaran dan menilai kejayaannya.

try:
    float(element)
except ValueError:
    print("Not a float")
Salin selepas log masuk

Pendekatan ini ringkas dan berkesan, tetapi ia membawa risiko meningkatkan OverflowError jika nilai elemen melebihi julat titik terapung.

Pilihan lain ialah memanfaatkan ungkapan biasa.

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

Teknik ini menggunakan ungkapan biasa untuk mengesahkan struktur rentetan sebagai nombor titik terapung.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa dengan Amanah sama ada Rentetan Python Mewakili Terapung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan