Modul `decimal` Python
Artikel ini menerangkan modul decimal
Python.
Anda boleh belajar tentang asas pengiraan dengan modul decimal
, menguruskan ketepatan, pembulatan, dan sebagainya, bersama contoh kod.
YouTube Video
Modul decimal
Python
Modul decimal
Python menyediakan aritmetik perpuluhan dengan ketepatan tetap untuk mengelakkan ralat yang berlaku dalam operasi titik terapung. Dengan menggunakan modul ini, keputusan yang lebih boleh dipercayai boleh diperolehi dalam pengiraan kewangan atau pengiraan yang memerlukan ketepatan tinggi. Dalam situasi di mana ralat dari jenis float
menjadi isu, modul decimal
adalah berkesan.
Penggunaan Asas Modul decimal
Apabila menggunakan modul decimal
, import kelas Decimal
dan kendalikan nilai sebagai contoh kelas ini. Seterusnya, kami akan menunjukkan penggunaan asas.
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
- Kod ini dengan tepat menambah 0.1 dan 0.2 menggunakan kelas
Decimal
. Melakukan pengiraan yang sama dengan jenisfloat
menghasilkan nilai dengan ralat, manakalaDecimal
mengelakkan ralat tersebut.
Mengawal Ketepatan
Modul decimal
membolehkan anda dengan mudah mengawal ketepatan (bilangan tempat perpuluhan) dalam pengiraan. Fungsi getcontext()
boleh digunakan untuk mendapatkan konteks semasa dan mengubah suai tetapan ini.
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, ketepatan ditetapkan kepada 4 digit untuk pengiraan
1 ÷ 3
. Dengan menggunakanDecimal
, anda boleh menetapkan ketepatan pengiraan mengikut keperluan, membolehkan anda menyesuaikan keputusan sewajarnya.
Pembulatan
Modul decimal
termasuk beberapa pilihan untuk menentukan kaedah pembulatan. Berikut adalah contoh penggunaan pelbagai pilihan 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 nombor ke atas dan ke bawah kepada ketepatan 2 tempat perpuluhan. Ini membolehkan pembulatan serta pelbagai jenis kaedah pembulatan lain.
Konteks Operasi dan Pengecualian
Modul decimal
juga boleh menangani ralat dan pengecualian yang berlaku semasa operasi. Pengendalian khas boleh ditakrifkan untuk ralat tertentu, seperti pembahagian dengan sifar atau limpahan.
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 apabila pembahagian dengan sifar berlaku. Dalam moduldecimal
, ralat boleh dikawal dan disesuaikan dengan cara ini.
Ringkasan
Modul decimal
sangat berguna dalam pengiraan kewangan atau situasi yang memerlukan ketepatan tinggi untuk mengelakkan ralat titik terapung. Ia menyokong pelbagai aplikasi, dari pengiraan asas hingga pengurusan ketepatan, pembundaran, dan pengendalian pengecualian. Semak perkara yang diringkaskan di bawah dan gunakan modul decimal
mengikut keperluan khusus anda.
- Aritmetik perpuluhan yang tepat boleh dicapai dengan kelas
Decimal
. - Anda boleh menyesuaikan tetapan ketepatan dan pembundaran dengan bebas.
- Pengecualian seperti pembahagian dengan sifar boleh diuruskan.
Ini membolehkan anda menggunakan modul decimal
untuk mengurangkan ralat dalam situasi yang memerlukan pengiraan berangka yang tepat.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.