Menukar Rentetan dengan Titik dan Koma kepada Terapung dalam Python
Masalah
Bagaimana kita boleh menukar rentetan seperti "123,456.908" menjadi apungan seperti 123456.908 dalam Python?
Penyelesaian: Menggunakan Perkhidmatan Penyetempatan
Perkhidmatan penyetempatan Python membolehkan kami mengendalikan setempat-spesifik penukaran.
Petempatan Lalai
Petempatan lalai menggunakan tetapan "C", yang tidak mengambil kira konvensyen pemformatan serantau. Oleh itu, secara lalai, atof(rentetan):
Mentafsir koma sebagai pemisah perpuluhan.- Tidak mengendalikan ribuan pemisah.
-
Untuk membetulkannya , kita perlu menetapkan tempat setempat secara eksplisit agar sepadan dengan data asal.
Menggunakan Tempatan daripada Persekitaran
Kami boleh menggunakan setlocale(LC_ALL, '') untuk membaca tetapan tempat pilihan pengguna daripada persekitaran. Ini membolehkan kaedah yang menyedari setempat seperti locale.atof mengendalikan ribuan pemisah dengan betul.
Menetapkan Tempatan Secara Eksplisit
Kami juga boleh menetapkan tempat tertentu menggunakan setlocale( LC_NUMERIC, rentetan_tempat). Ini membolehkan pemformatan dan penghuraian setempat untuk nombor sahaja.
Kaveat
Menetapkan setempat boleh menjejaskan tingkah laku program secara global dan tidak selamat untuk rangkaian. Ia perlu dilakukan dengan berhati-hati dan berhemat. Secara umumnya lebih disukai untuk menggunakan perpustakaan pengantarabangsaan untuk pengendalian data bebas setempat.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan dengan Koma dan Titik 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