Decimal Type in Python

Decimal Type in Python – Decimal के नाम के इस Numeric Core Type को Python 2.4 में Add किया गया था। Syntactically देखें तो जब हमें Decimal Number Create करना होता है तब हम Literal Expression का प्रयोग करते हुए Decimal Number Create नहीं करते बल्कि किसी Imported Module में उपलब्‍ध Function को Call करके Decimal Number Object Create करते हैं।

Functionally, Decimal Numbers Floating-Point Numbers की तरह होते हैं, इसलिए इन Numbers के Extra Decimal Digits को भी हम Truncate या Round कर सकते हैं। हालांकि यदि हम Decimal Numbers के साथ ऐसा करते हैं, तो Normal Floating Point Values के साथ ऐसा करने की तुलना में Execution Speed यानी Performance पर इस प्रक्रिया का Negative Effect पड़ता है।

Decimal Type को मूलत: तब Use किया जाता है, जब हमें ऐसे Numerical मान को Represent करना होता है, जिसके दसमलव के बाद के Digits की संख्‍या निश्चित होती है। जैसे कि यदि हमें Money को Represent करना हो, तो सामान्‍यत: पैसों को हम दसमलव के बाद 2 Digits तक ही Calculate करते हैं। इसलिए जब भी हम कोई Account से सम्‍बंधित काम कर रहे हों, जिसमें पैसे को Represent किया जा रहा हो, तो पैसों को Represent करने के लिए हम Floating-Point Values के स्‍थान पर Decimal Value को Use कर सकते हैं।

जब हम किसी Number को Floating Point Data Type के माध्‍यम से Specify करते हैं, तब इस तरह के Data को Store करने के लिए काफी Limited Memory Space मिलता है। इसलिए Python कुछ Numbers को Exact तरीके से Represent करने में असमर्थ हो जाता है और गलत Output देता है। लेकिन जब हम Decimal() Method का प्रयोग करते हुए ऐसे Numbers के साथ Deal करते हैं, तब हमारा Result एकदम सही आता है। इसे समझने के लिए हम निम्‍नानुसार एक Simple Example Create कर सकते हैं-

[code]
FileName: DecimalFunction.py
from decimal import Decimal
floatValue = 0.1 + 0.1 + 0.1
print("Subtract floating-point 0.3 from floatValue:", end='')
print(floatValue - 0.3)
decimalValue = Decimal('0.1') + Decimal('0.1') + Decimal('0.1')
print("Subtract Decimal 0.3 from decimalValue:", end='')
print(decimalValue - Decimal('0.3'))

# Decimal Value with Maximum Precision
print("Output of Decimal('0.1') + Decimal('0.10') + Decimal('0.10') - Decimal('0.30'): ", Decimal('0.1') + Decimal('0.10') + Decimal('0.10') - Decimal('0.30'))

Output
Subtract floating-point 0.3 from floatValue: 5.551115123125783e-17
Subtract Decimal 0.3 from decimalValue: 0.0
Output of Decimal('0.1') + Decimal('0.10') + Decimal('0.10') - Decimal('0.30'):  0.00
[/code]

जब हम दसमलव के बाद पूरी Accuracy के साथ किसी Number को Process करना चाहते हैं, तब हमें इस Example में बताए तरीके से Decimal() Function का प्रयोग करना जरूरी होता है क्‍योंकि Floating-Point Values में दसमलव के बाद की संख्‍याओं को Store करने के लिए Computer की Memory में काफी Limited Space ही मिलता है।

किसी Numerical मान को एक Decimal मान में Convert करने के लिए हमें decimal Module के Decimal() Constructor को Call करना पड़ता है और जिस मान को Decimal में Convert करना होता है, उसे इस Decimal Constructor में String Parameter की तरह Pass करना होता है।

जब हम Decimal Constructor में Mixed Decimal Precision वाले Strings को Use करते हुए Decimal Conversion कर रहे होते हैं, तब Python, सबसे ज्‍यादा Decimal Digits के बराबर Precision वाला Output ही Return करता है। इसीलिए इस Example के अन्तिम Statement के Execute होने पर हमें मिलने वाले Output में दसमलव के बाद दो Digits दिखाई दे रहे हैं।

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS