Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Rentetan dengan Beribu-ribu Pemisah dengan Cekap kepada Nombor dalam Python?

Bagaimanakah Saya Boleh Menukar Rentetan dengan Beribu-ribu Pemisah dengan Cekap kepada Nombor dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-04 06:20:121049semak imbas

How Can I Efficiently Convert Strings with Thousands Separators to Numbers in Python?

Menukar Rentetan dengan Ribuan Pemisah kepada Nombor dalam Python

Apabila bekerja dengan rentetan yang mewakili nombor yang mengandungi beribu-ribu pemisah (biasanya koma), menukarkannya kepada integer menggunakan fungsi int() Python boleh membawa kepada pengecualian ValueError. Menggantikan koma dengan rentetan kosong sahaja adalah tidak cekap dan mudah ralat.

Penyelesaian:

Modul setempat Python menyediakan penyelesaian yang lebih elegan. Dengan menetapkan tempat kepada 'en_US.UTF-8' dan menggunakan locale.atoi() untuk integer (locale.atof() untuk terapung), kita boleh menukar rentetan dengan koma sebagai seribu pemisah kepada nombor dengan mudah.

Contoh:

import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
# Convert string with commas to integer
result_int = locale.atoi('1,000,000')  # Yields 1000000
# Convert string with commas to float
result_float = locale.atof('1,000,000.53')  # Yields 1000000.53

Kaedah ini memastikan penukaran yang tepat sambil mematuhi peraturan pemformatan khusus setempat. Dengan bekerja dengan data setempat, kami boleh mengendalikan perwakilan nombor dengan ribuan pemisah dengan lancar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan dengan Beribu-ribu Pemisah dengan Cekap kepada Nombor 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