Parsing Angka pada String
Table of Contents
Menggunakan Operasi Matematika Pada Python - This article is part of a series.
Pada materi ini, kita akan membahas konsep parsing angka pada string, yang sering diperlukan saat berinteraksi dengan data input atau ketika kita bekerja dengan teks yang mengandung angka.
A. Menggunakan Fungsi int()
dan float()
#
Dua fungsi utama untuk melakukan parsing dari string ke tipe data angka adalah int()
dan float()
.
int()
: Digunakan untuk mengonversi string menjadi bilangan bulat.
angka_string = "123"
angka = int(angka_string)
print("Angka setelah parsing:", angka)
Hasilnya adalah
Angka setelah parsing: 123
float()
: Digunakan untuk mengonversi string menjadi bilangan desimal.
desimal_string = "3.14"
desimal = float(desimal_string)
print("Angka desimal setelah parsing:", desimal)
Hasilnya adalah
Angka desimal setelah parsing: 3.14
B. Keamanan pada Parsing #
Saat melakukan parsing, penting untuk menangani situasi di mana string tidak dapat diubah menjadi angka secara aman. Untuk itu, kamu dapat menggunakan blok try
-except
untuk menangani exception.
angka_string = "abc"
try:
angka = int(angka_string)
print("Angka setelah parsing:", angka)
except ValueError:
print("Gagal melakukan parsing. String tidak dapat diubah menjadi angka.")
Hasilnya adalah
Gagal melakukan parsing. String tidak dapat diubah menjadi angka.
C. Penggunaan Modul re
(Regular Expression)
#
Modul re
dapat digunakan untuk mengekstrak angka dari string dengan menggunakan regular expression.
import re
teks = "Di dalam kalimat ini terdapat angka 1234 dan 5678."
angka_list = re.findall(r'\d+', teks)
angka = list(map(int, angka_list))
print("Angka yang diekstrak:", angka)
Hasilnya adalah
Angka yang diekstrak: [1234, 5678]
D. Penanganan Separator #
Ketika berurusan dengan string yang mengandung pemisah ribuan atau desimal, kita dapat membersihkan string sebelum melakukan parsing.
angka_string = "1,234,567.89"
angka_string_cleaned = angka_string.replace(',', '')
angka = float(angka_string_cleaned)
print("Angka setelah parsing:", angka)
Hasilnya adalah
Angka setelah parsing: 1234567.89
E. Konversi dari Angka ke String #
Terkadang, kita perlu mengubah angka kembali menjadi string, terutama saat bekerja dengan output atau menyimpan data ke dalam format file teks.
angka = 987.65
angka_string = str(angka)
print("Angka dalam bentuk string:", angka_string)
Hasilnya adalah
Angka dalam bentuk string: 987.65
F. Format Desimal dengan format()
#
Ketika kamu ingin mengontrol format desimal pada string, fungsi format()
sangat berguna.
angka = 1234.5678
string_format = "{:.2f}".format(angka)
print("String dengan format desimal:", string_format)
Hasilnya adalah
String dengan format desimal: 1234.57