Cara Mengonversi String ke Int dengan Python (Casting & Basis Aman)
Pelajari cara mengonversi string menjadi bilangan bulat dengan Python menggunakan fungsi int(). Tangani kesalahan dengan aman dan konversikan angka dari biner, oktal, atau hex.
Ikhtisar
Mengubah representasi string dari suatu angka menjadi bilangan bulat sebenarnya adalah tugas yang sering dilakukan dalam pengembangan aplikasi. Proses ini, sering disebut sebagai casting, sangat penting ketika menangani input pengguna mentah, membaca file konfigurasi, mengurai argumen dari antarmuka baris perintah, atau mengambil data dari web. Karena Python adalah bahasa yang sangat diketik, Anda tidak dapat melakukan operasi matematika pada representasi string angka tanpa mentransmisikannya terlebih dahulu.
Konstruktor `int()` bawaan Python adalah alat utama untuk konversi ini. Dalam bentuk paling sederhana, meneruskan string numerik (seperti `"42"`) ke `int()` akan mengembalikan bilangan bulat yang setara. Namun, meneruskan string non-numerik (seperti `"hello"`) atau string yang mewakili angka floating-point (seperti `"3.14"`) akan memunculkan `ValueError`. Untuk menulis aplikasi yang kuat, merupakan praktik standar untuk menggabungkan operasi casting dalam blok `coba-kecuali` untuk menangani input yang tidak terduga dengan baik.
Di luar konversi basis-10 standar, fungsi `int()` menerima argumen `base` opsional. Hal ini memungkinkan Anda dengan mudah mengurai string yang mewakili bilangan dalam sistem bilangan berbeda, seperti biner (basis 2), oktal (basis 8), atau heksadesimal (basis 16). Misalnya, `int("1010", 2)` dengan benar mengurai string biner menjadi bilangan bulat desimal `10`, menjadikannya alat serbaguna untuk pemrograman matematika tingkat rendah atau khusus.
Kode & Output Eksekusi
Skrip ini mendemonstrasikan konversi string menjadi bilangan bulat, menangani pengecualian, dan mengonversi representasi dasar yang berbeda.
# 1. Standard base-10 conversion
num_str = "123"
num = int(num_str)
print(f"Standard conversion: {num} (Type: {type(num).__name__})")
# 2. Handling invalid input gracefully
invalid_str = "abc"
try:
result = int(invalid_str)
except ValueError:
print(f"Could not convert '{invalid_str}' to an integer.")
# 3. Converting from different bases (binary and hex)
binary_str = "1011"
hex_str = "ff"
print("Binary '1011' to decimal:", int(binary_str, 2))
print("Hex 'ff' to decimal:", int(hex_str, 16))Standard conversion: 123 (Type: int)
Could not convert 'abc' to an integer.
Binary '1011' to decimal: 11
Hex 'ff' to decimal: 255Implementasi Langkah demi Langkah
- Teruskan string numerik ke fungsi int() bawaan.
- Bungkus operasi casting Anda dalam blok try...kecuali ValueError untuk menangani format yang tidak valid.
- Berikan argumen kedua (misalnya, basis=16) untuk mengonversi nilai string yang ditulis dalam basis lain.
Pertanyaan yang Sering Diajukan
Bagaimana cara mengonversi string float seperti '12.34' menjadi bilangan bulat?
Anda harus mengonversinya terlebih dahulu menjadi float, lalu menjadi int: int(float("12.34")). Memanggil int("12.34") secara langsung memunculkan ValueError.
Bagaimana cara memeriksa apakah suatu string dapat dikonversi dengan aman ke int?
Anda dapat menggunakan metode string .isdigit(), namun perhatikan bahwa metode ini mengembalikan False untuk tanda negatif atau spasi. Blok coba-kecuali adalah cara yang paling kuat.
Topik Terkait
Pelajari teknik pemformatan string terbaik dengan Python. Bandingkan f-string modern, format(), dan format persentase dengan contoh kode.
Cara Menangani Pengecualian dengan PythonPelajari cara menangani pengecualian dalam Python menggunakan blok coba, kecuali, lain, dan akhirnya. Tulis kode Python yang bebas kesalahan dan tahan crash.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
String Python
Manipulasi string master dengan Python. Pelajari metode string, pemotongan, penggabungan, dan teknik pemformatan dengan contoh kode yang jelas dan dapat dieksekusi.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
Pola Desain Dekorator Python vs Dekorator: Perbedaan Utama
Bandingkan dekorator Python dan pola desain dekorator klasik. Pahami perbedaan antara pembungkusan fungsi waktu definisi dan komposisi objek dinamis waktu proses dengan kode yang dapat dijalankan.