Modul `decimal` Python

Modul `decimal` Python

Artikel ini menjelaskan modul decimal Python.

Anda dapat mempelajari dasar-dasar perhitungan dengan modul decimal, pengelolaan presisi, pembulatan, dan lainnya, disertai contoh kode.

YouTube Video

Modul decimal Python

Modul decimal Python menyediakan aritmatika desimal dengan presisi tetap untuk menghindari kesalahan yang terjadi pada operasi floating-point. Dengan menggunakan modul ini, hasil yang lebih dapat diandalkan dapat diperoleh dalam perhitungan keuangan atau perhitungan yang membutuhkan akurasi tinggi. Dalam situasi di mana kesalahan dari jenis float menjadi masalah, modul decimal sangat efektif.

Penggunaan Dasar Modul decimal

Saat menggunakan modul decimal, impor kelas Decimal dan tangani nilai sebagai instance dari kelas ini. Selanjutnya, kami akan menunjukkan penggunaan dasarnya.

1from decimal import Decimal
2
3# Basic usage example of Decimal
4a = Decimal('0.1')
5b = Decimal('0.2')
6result = a + b
7
8print(f"Result: {result}")  # Result: 0.3
  • Kode ini secara akurat menjumlahkan 0.1 dan 0.2 menggunakan kelas Decimal. Melakukan perhitungan yang sama dengan jenis float menghasilkan nilai dengan kesalahan, sedangkan Decimal menghindari kesalahan ini.

Mengontrol Presisi

Modul decimal memungkinkan Anda dengan mudah mengontrol presisi (jumlah tempat desimal) dalam perhitungan. Fungsi getcontext() dapat digunakan untuk mengambil konteks saat ini dan mengubah pengaturannya.

1from decimal import Decimal, getcontext
2
3# Set the precision
4getcontext().prec = 4  # Set to 4 decimal places
5
6a = Decimal('1') / Decimal('3')
7print(f"Result with precision 4: {a}")  # Result with precision 4: 0.3333
  • Dalam contoh ini, presisi diatur menjadi 4 digit untuk perhitungan 1 ÷ 3. Dengan menggunakan Decimal, Anda dapat mengatur presisi perhitungan sesuai kebutuhan, memungkinkan Anda menyesuaikan hasilnya.

Pembulatan

Modul decimal mencakup beberapa opsi untuk menentukan metode pembulatan. Berikut adalah contoh menggunakan berbagai opsi pembulatan seperti ROUND_UP dan ROUND_DOWN.

 1from decimal import Decimal, ROUND_UP, ROUND_DOWN
 2
 3# Example of rounding a number
 4a = Decimal('1.2345')
 5
 6# Rounding up
 7rounded_up = a.quantize(Decimal('0.01'), rounding=ROUND_UP)
 8print(f"Rounded Up: {rounded_up}")  # Rounded Up: 1.24
 9
10# Rounding down
11rounded_down = a.quantize(Decimal('0.01'), rounding=ROUND_DOWN)
12print(f"Rounded Down: {rounded_down}")  # Rounded Down: 1.23
  • Di sini, quantize() digunakan untuk membulatkan ke atas dan ke bawah angka hingga presisi 2 tempat desimal. Ini memungkinkan pembulatan serta berbagai jenis metode pembulatan lainnya.

Konteks Operasional dan Eksepsi

Modul decimal juga dapat menangani kesalahan dan eksepsi yang terjadi selama operasi. Penanganan khusus dapat didefinisikan untuk kesalahan tertentu, seperti pembagian dengan nol atau overflow.

1from decimal import Decimal, getcontext, DivisionByZero
2
3# Exception handling
4getcontext().traps[DivisionByZero] = True
5
6try:
7    result = Decimal('1') / Decimal('0')
8except DivisionByZero:
9    print("Division by zero error caught!")
  • Dalam contoh ini, pengecualian DivisionByZero ditangkap ketika terjadi pembagian dengan nol. Dalam modul decimal, kesalahan dapat dikendalikan dan disesuaikan dengan cara ini.

Ringkasan

Modul decimal sangat berguna dalam perhitungan keuangan atau situasi di mana presisi tinggi diperlukan untuk menghindari kesalahan floating-point. Ini mendukung berbagai aplikasi, mulai dari perhitungan dasar hingga pengelolaan presisi, pembulatan, dan penanganan pengecualian. Tinjau poin-poin yang dirangkum di bawah ini dan gunakan modul decimal sesuai dengan kebutuhan spesifik Anda.

  • Aritmatika desimal yang akurat dapat dilakukan dengan kelas Decimal.
  • Anda dapat dengan bebas menyesuaikan pengaturan presisi dan pembulatan.
  • Pengecualian seperti pembagian dengan nol dapat dikelola.

Ini memungkinkan Anda menggunakan modul decimal untuk meminimalkan kesalahan dalam situasi yang memerlukan perhitungan numerik yang akurat.

Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.

YouTube Video