Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Rentetan dengan Titik dan Koma sebagai Ribuan dan Pemisah Perpuluhan kepada Terapung dalam Python?

Bagaimanakah Saya Boleh Menukar Rentetan dengan Titik dan Koma sebagai Ribuan dan Pemisah Perpuluhan kepada Terapung dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-26 04:55:14194semak imbas

How Can I Convert Strings with Dots and Commas as Thousands and Decimal Separators to Floats in Python?

Menukar Rentetan dengan Titik dan Koma kepada Terapung dalam Python

Pengenalan

Selalunya, data mungkin ditemui dalam format di mana nombor diwakili dengan titik (.) sebagai pemisah beribu-ribu dan koma (,) sebagai titik perpuluhan. Untuk melaksanakan operasi matematik pada data tersebut, ia mesti ditukar kepada format titik terapung. Artikel ini membincangkan cara untuk mencapai penukaran ini dalam Python.

Menggunakan Perkhidmatan Penyetempatan

Petempatan Lalai

Modul penyetempatan Python menyediakan antara muka untuk mengakses tetapan penyetempatan khusus platform. Secara lalai, Python menganggap tempat "C", di mana titik tidak dikenali sebagai ribuan pemisah. Untuk menjadikan Python mengenali titik sebagai pemisah, tetapkan tempattempat agar sepadan dengan tetapan pilihan pengguna:

import locale
locale.setlocale(locale.LC_ALL, '')

Panggilan ini akan memberitahu Python untuk menggunakan tetapan tempat pilihan pengguna, yang biasanya akan mengecam titik sebagai ribuan pemisah. Kini, locale.atof boleh digunakan untuk menukar rentetan kepada apungan:

locale.atof('123,456.789')

Menggunakan Tempat Tertentu

Daripada menggunakan tetapan pilihan pengguna, anda boleh menentukan tempat khusus untuk guna. Sebagai contoh, untuk menggunakan tempat tempatan Denmark di mana noktah digunakan sebagai pemisah beribu-ribu dan koma sebagai titik perpuluhan, gunakan:

locale.setlocale(locale.LC_NUMERIC, 'en_DK.UTF-8')

Kaveat

Mengubah suai tetapan tempat boleh mempunyai kesan sampingan dan tidak selamat untuk benang. Elakkan daripada menetapkan tempat dalam fungsi atau perpustakaan yang boleh digunakan dalam persekitaran berulir. Selain itu, modul sambungan (modul C) tidak seharusnya memanggil setlocale untuk mengelakkan tingkah laku yang tidak dijangka.

Kesimpulan

Dengan memanfaatkan perkhidmatan penyetempatan, Python boleh menukar rentetan dengan titik dan koma kepada apungan, membolehkan penukaran lancar data berangka setempat. Walau bagaimanapun, adalah penting untuk mempertimbangkan kaveat yang dinyatakan di atas dan menggunakan perkhidmatan penyetempatan dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan dengan Titik dan Koma sebagai Ribuan dan Pemisah Perpuluhan kepada 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