Computer >> Máy Tính >  >> Lập trình >> Python

Hàm thập phân trong Python

Trong Python, có một mô-đun được gọi là Decimal, được sử dụng để thực hiện một số tác vụ liên quan đến dấu phẩy động thập phân. Mô-đun này cung cấp số học dấu phẩy động được làm tròn chính xác.

Để sử dụng nó, trước tiên chúng ta cần nhập nó vào mô-đun thư viện tiêu chuẩn Decimal.

 nhập số thập phân 

Trong phần này, chúng ta sẽ thấy một số chức năng quan trọng của mô-đun Decimal.

Hàm căn bậc hai sqrt () và hàm lũy thừa exp ()

Phương thức sqrt () được sử dụng để tính căn bậc hai của một đối tượng kiểu thập phân nhất định. Và phương thức exp () trả về giá trị e ^ x cho x đã cho dưới dạng số thập phân.

Mã mẫu

 #Perform sqrt () và exp () phương thức nhập decimalmy_dec =decimal.Decimal (25.36) print (my_dec) # Tìm Căn bậc hai của dấu số thập phân ('Căn bậc hai là:' + str (my_dec.sqrt ())) # Tìm e ^ x cho dấu số thập phân ('e ^ x là:' + str (my_dec.exp ())) 

Đầu ra

 25.3599999999999994315658113919198513031005859375Square Root là:5.035871324805668565859161094e ^ x là:103206740212.7314661465187086 

Các hàm logarit

Có một số hàm logarit trong mô-đun Thập phân. Ở đây chúng tôi đang thảo luận về hai trong số họ. Phương thức đầu tiên là phương thức ln (). Phương pháp này được sử dụng để tìm lôgarit tự nhiên của số thập phân.

Một phương thức khác là phương thức log10 (). Phương pháp này được sử dụng để tìm giá trị logarit trong đó cơ số là 10.

Mã mẫu

 #Perform ln () và phương thức log10 () nhập decimalmy_dec =decimal.Decimal (25.36) print (my_dec) # Tìm giá trị logarit với cơ số eprint ('ln (x) is:' + str (my_dec.ln ()) ) # Tìm giá trị logarit với cơ số 10print ('log (x) là:' + str (my_dec.log10 ())) 

Đầu ra

 25.3599999999999994315658113919198513031005859375ln (x) là:3.233173129569025152000878282log (x) là:1.404149249209695070459909761 

Phương thức as_tuple () và fma ()

Phương thức as_tuple được sử dụng để biểu thị số thập phân dưới dạng một bộ giá trị với ba các yếu tố. Các phần tử là dấu, chữ số số mũ giá trị. Trong trường dấu hiệu khi số là 0, có nghĩa là số thập phân là dương , khi nó là 1, nó đại diện cho phủ định số.

Phương thức fma () được gọi là phép nhân và phép cộng hợp nhất . Nếu chúng ta sử dụng fma (x, y) Nó sẽ tính (số * x) + y. Trong trường hợp này, phần (số * x) không được làm tròn.

Mã mẫu

 #Perform as_tuple () và fma () phương thức nhập decimalmy_dec1 =decimal.Decimal (5.3) print (my_dec1) my_dec2 =decimal.Decimal (-9.23) print (my_dec2) # Hiển thị số thập phân dưới dạng tupleprint ('\ nmy_dec1 dưới dạng tuple:'+ str (my_dec1.as_tuple ())) print (' \ nmy_dec2 as tuple:'+ str (my_dec2.as_tuple ())) # Thực hiện Hợp nhất Nhân và Thêm dấu (' \ n (x * 5) +8 là:' + str (my_dec1.fma (5, 8))) 

Đầu ra

 5.29999999999999982236431605997495353221893310546875-9.230000000000000426325641456060111522674560546875my_dec1 dưới dạng tuple:DecimalTuple (dấu =0, chữ số =(5, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9 , 8, 2, 2, 3, 6, 4, 3, 1, 6, 0, 5, 9, 9, 7, 4, 9, 5, 3, 5, 3, 2, 2, 1, 8, 9 , 3, 3, 1, 0, 5, 4, 6, 8, 7, 5), số mũ =-50) my_dec2 dưới dạng tuple:DecimalTuple (dấu =1, chữ số =(9, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 6, 3, 2, 5, 6, 4, 1, 4, 5, 6, 0, 6, 0, 1, 1, 1, 5, 2, 2, 6, 7, 4, 5, 6, 0, 5, 4, 6, 8, 7, 5), exponent =-48) (x * 5) + 8 là:34.49999999999999911182158030 

Phương thức so sánh ()

Phương pháp so sánh này là để so sánh hai số thập phân. Khi các số giống nhau, nó sẽ trả về 0, ngược lại, khi số đầu tiên lớn hơn, nó sẽ cho +1 và khi đối số đầu tiên nhỏ hơn, nó sẽ trả về -1.

Mã mẫu

 #Perform Compare () methodimport decimal # So sánh khi cả hai đều bằng nhau ('So sánh giá trị:' + str (decimal.Decimal (-5,3) .compare (decimal.Decimal (-5,3)))) # So sánh khi giá trị đầu tiên is smallprint ('So sánh giá trị:' + str (decimal.Decimal (-5,3) .compare (decimal.Decimal (9.26)))) # So sánh khi giá trị đầu tiên lớn hơn ('So sánh giá trị:' + str (decimal.Decimal ( -5.3). So sánh (decimal.Decimal (-13,25)))) 

Đầu ra

 Giá trị so sánh:0 Giá trị so sánh:-1 Giá trị so sánh:1 

Một số chức năng sao chép

Có một số phương pháp khác nhau để sao chép số thập phân vào một đối tượng thập phân khác. Phương thức đầu tiên là copy_abs (). Nó được sử dụng để lấy giá trị tuyệt đối từ số thập phân. Phương thức thứ hai là copy_negate (), được sử dụng để sao chép số thập phân sau khi phủ định số thực. Hàm thứ ba là copy_sign (). phương thức này in ra đối số đầu tiên, bằng cách lấy dấu từ đối số thứ hai.

Mã mẫu

 #Perform copy_abs (), copy_negate () and copy_sign () import decimalmy_dec =decimal.Decimal (-25,36) print (my_dec) #copy the great valuetemp_dec =my_dec.copy_abs () print ('Absolute is:' + str (temp_dec)) # sao chép giá trị âm valuemy_dec =decimal.Decimal (7.26) temp_dec =my_dec.copy_negate () print ('Phủ định của 7.26 là:' + str (temp_dec)) # sao chép giá trị dấu từ đối số thứ hai sang đối số thứ nhất onemy_dec =decimal.Decimal (-25,36) temp_dec =my_dec.copy_sign (decimal.Decimal (12,5)) print ('Sao chép dấu từ đối số thứ hai:' + str (temp_dec)) 

Đầu ra

 -25.3599999999999994315658113919198513031005859375Absolute là:25.3599999999999994315658113919198513031005859375Negate of 7.26 là:-7.25999999999999978683717927196999944 

Phương thức max và min

Giá trị max và min là hai phương pháp đơn giản. Chúng được sử dụng để tìm số tối đa hoặc tối thiểu tương ứng giữa hai số.

Mã mẫu

 #Perform max () và min () phương thức nhập decimalmy_dec1 =decimal.Decimal (5.3) print (my_dec1) my_dec2 =decimal.Decimal (-9,23) print (my_dec2) #Show Minimum and Maximumprint ('Minumum:' + str (my_dec1.min (my_dec2))) print ('Maximum:' + str (my_dec2.max (my_dec1))) 

Đầu ra

 5.29999999999999982236431605997495353221893310546875-9.230000000000000426325641456060111522674560546875Minumum:-9.230000000000000426325641456Maximum:5.2999999999999822364316060