Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชั่นทศนิยมใน Python คืออะไร?


สำหรับหลามเลขทศนิยมเลขทศนิยมให้โมดูลทศนิยม โมดูลนี้มีฟังก์ชันนับร้อยที่ช่วยในการประมวลผลการคำนวณทศนิยมอย่างมีประสิทธิภาพ เราจะพิจารณาสิ่งที่สำคัญและใช้กันอย่างแพร่หลายในหัวข้อนี้

เปรียบเทียบ()

ฟังก์ชันนี้เปรียบเทียบตัวเลขทศนิยม ส่งกลับค่า 1 ถ้าอาร์กิวเมนต์ทศนิยมที่ 1 มากกว่าที่ 2, -1 ถ้าอาร์กิวเมนต์ทศนิยมที่ 1 น้อยกว่าที่ 2 และ 0 ถ้าทั้งคู่มีค่าเท่ากัน

ตัวอย่าง

import decimal

val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.61)

# compare decimals
print("The result is : ",val1.compare(val2))

# resetting the values
val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(-2.6)

# compare decimals
print("The result is : ",val1.compare(val2))

# resetting the values
val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.6)

# compare decimals
print("The result is : ",val1.compare(val2))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

The result is : -1
The result is : 1
The result is : 0

สูงสุด() และขั้นต่ำ()

โดยจะค้นหาจำนวนทศนิยมสูงสุดและต่ำสุดสองตำแหน่งตามลำดับ

ตัวอย่าง

import decimal

val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.61)

# compare decimals
print("The max value is : ",round(val1.max(val2),2))
print("The min value is : ",round(val1.min(val2),2))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

The max value is : 2.61
The min value is : 2.60

getcontext()

เราสามารถเปลี่ยนความแม่นยำของการดำเนินการเลขคณิตได้โดยใช้วิธีนี้ ความแม่นยำเริ่มต้นคือ 28 ในตัวอย่างด้านล่าง เราดำเนินการเลขคณิตซึ่งแสดงผลตามความแม่นยำที่กำหนดโดย getcontext().prec.

ตัวอย่าง

from decimal import *
print(Decimal(13) / Decimal(7))

getcontext().prec = 6
print(Decimal(13) / Decimal(7))

getcontext().prec = 10
print(Decimal(13) / Decimal(7))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

1.857142857142857142857142857
1.85714
1.857142857

exp()

ส่งคืนค่าของฟังก์ชันเลขชี้กำลัง (ธรรมชาติ) e**x ที่จำนวนที่กำหนด

ตัวอย่าง

from decimal import *

#Finding e
print(Decimal(1).exp())

#Finding e raised to 2
print(Decimal(2).exp())

#Finding e raised to 4
print(Decimal(4).exp())

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

2.718281828459045235360287471
7.389056098930650227230427461
54.59815003314423907811026120

as_integer_ratio()

บางครั้งเราต้องการจำนวนเต็มที่หารด้วยทศนิยมที่เรากำลังเผชิญอยู่ ซึ่งเราสามารถหาได้โดยใช้ as_integer_ratio ()

ตัวอย่าง

from decimal import *

v = Decimal('2.1834').as_integer_ratio()
print(v)

v = Decimal('-1.92').as_integer_ratio()
print(v)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

(10917, 5000)
(-48, 25)

ln() และ log10()

เราสามารถคำนวณลอการิทึมธรรมชาติ ( โดยมีฐานเท่ากับ e) เช่นเดียวกับลอการิทึมฐาน 10 โดยใช้ฟังก์ชันเหล่านี้ เราใส่ค่าทศนิยมที่ต้องการลอการิทึม

ตัวอย่าง

from decimal import *

ln_val = Decimal('2.1').ln()
print(ln_val)

log_val = Decimal('2.1').log10()
print(log_val)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

0.7419373447293773124826065257
0.3222192947339192680072441618

fma(a,b)

นี่คือฟังก์ชันพิเศษที่เรียกว่า fused multiply และ add ทศนิยมที่ให้มาจะถูกคูณด้วยอาร์กิวเมนต์แรก a จากนั้นผลลัพธ์จะถูกเพิ่มไปยังอาร์กิวเมนต์ที่สอง b

ตัวอย่าง

from decimal import *

# Same as (2.1*2)+5
fma_val = Decimal(2.1).fma(2,5)
print(fma_val)

# Same as (8.1*3)+5
fma_val = Decimal(8.1).fma(3,5)

print(fma_val)
re class="prettyprint notranslate" >

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

9.200000000000000177635683940
29.29999999999999893418589636