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?

DDD
DDDasal
2024-12-01 10:17:14852semak imbas

How Can I Efficiently Convert a String with Thousands Separators to a Number in Python?

Menukar Rentetan dengan Ribuan Pemisah kepada Nombor dalam Python

Soalan:

Python membuang ValueError apabila cuba menukar rentetan dengan koma sebagai beribu-ribu pemisah kepada integer menggunakan fungsi int(). Adakah terdapat kaedah yang lebih cekap untuk melaksanakan penukaran ini?

Jawapan:

Modul tempatan dalam Python menyediakan penyelesaian. Dengan menetapkan tempattempat kepada 'en_US.UTF-8', anda mendayakan tafsiran koma yang betul sebagai pemisah beribu-ribu.

import locale
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' )

Dengan set tempattempat, anda boleh menggunakan locale.atoi() dan tempattempat. atof() berfungsi untuk menukar perwakilan rentetan kepada integer dan terapung, masing-masing:

locale.atoi('1,000,000')
# Results in 1,000,000

locale.atof('1,000,000.53')
# Results in 1,000,000.53

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