Real Number Formatting: जब Float प्रकार की संख्याओं को विशेष Formatting में Screen पर प्रिंट करना होता है, तब हमें निम्न Syntax को printf() Function के Control String के साथ प्रयोग करना होता है:
.
For Real Numbers %w.p f
For Exponent Numbers %w.p e यहां
w | इसमें वह संख्या दी जाती है जितने अंकों तक का मान हमें screen पर print करवाना है। जैसे हमें कुल 10 अंकों में Value को print करना हो तो % के बाद 10 लिखा जाता है। |
p | इसमें यह बताया जाता है कि दशमलव के बाद कितने अंकों तक के मान को Screen पर print करना है। जैसे दसमलव के बाद 4 अंकों तक के मान को Screen पर Print करवाना हो व कुल दस अंकों में मान Print करवाना हो तो Control String के रूप में हमें %10.4 लिखना होगा। |
f | यह Compiler को बताता है कि Print किया जाने वाला मान Float प्रकार के Data Type का मान है। |
e | यह बताता है कि print होने वाला मान घातांक रूप में प्रिंट होगा। |
.
Float प्रकार के Data Type का Variable जब Screen पर Print करते हैं तो Print होने वाला मान हमेंशा दशमलव के बाद 6 अंकों तक के मान को Print करता है। साथ ही Print होने वाला हर मान यहां भी Right Justified रूप में ही Print होता है। यदि हमें Left Side से Value को Print करना हो तो (Minus) – Flag का प्रयोग करना पडता है।
मानलो x =12345.6789 है, तो निम्न अलग-अलग Statements निम्न Format में Output Print करेंगे:
printf(“%10.4f”, x);
ये Statement कुल 10 अंको का मान Output में Print करेगा और दशमलव के बाद के चार अंक Print करेगा।
printf(“%10.2f”, x);
यहां दशमलव के बाद कुल दो अंक प्रिंट होंगे और Output में कुल दस अंक Print हो सकेंगे।
जैसा कि चित्र में दिखाया गया है कुल Space तो 10 Reserve होंगे लेकिन Output में केवल आठ ही अंक Print होंगे क्योंकि दशमलव के बाद केवल दो अंक ही प्रिंट होंगे। इसलिए आगे के दो अंको की जगह खाली ही रहेगी।
printf(“%-10.2f”, x);
यहां पर कुल दस Space Reserve होंगे और दशमलव के बाद दो अंकों तक संख्या Print होगी शेष जगह खाली रहेगी, लेकिन यहां हमने – चिन्ह प्रयोग किया है इसलिए संख्या Left Justified Print होगी। देखें निम्न चित्र
printf(“%f”, x);
यह Statement x की पूरी Value को print करेगा। चूंकि Float Variable दशमलव के बाद 6 अंकों तक के मान को Screen पर Print करता है और यहां पर दशमलव के बाद केवल 4 ही अंक हैं इसलिए बाकी के अंक Garbage Value के प्राप्त हो जाते हैं।
printf(“%*.*f”, w, p, x);
यह Statement बिल्कुल उसी प्रकार है जिस प्रकार अन्य Statements हैं। फर्क बस इतना ही है कि इस Statement में width व precision को Control String के साथ ना लिख कर Variable के साथ लिखा जाता है। इसमें यदि w की जगह 10 व p की जगह 2 लिख दिया जाए तो Output निम्नानुसार प्राप्त होगा जो कि %10.2f के समान ही है।
जिस तरह Float प्रकार के Variables को विभिन्न Format में प्रिंट करते हैं, उसी तरह हम घातांक मानों को भी विभिन्न प्रकार से प्रिंट कर सकते हैं। जब हमें संख्या को घातांक रूप में प्रिंट करना होता है तब मात्र f के स्थान पर e का प्रयोग करते हैं और बाकी की सारी Formatting समान रखी जाती है। निम्नानुसार कुछ उदाहरण बताए जा रहे हैं लेकिन इन्हीं उदाहरणों में मामूली से बदलाव करके विभिन्न Format प्राप्त किये जा सकते हैं:
printf(“%e”, x);
यह Statement निम्न Output देगा, क्योंकि सारा मान घातांक रूप में बदल जाएगा।
printf(“%10.2e”, x);
यह Statement दस Space Reserve करेगा और दशमलव के बाद दो अंक दर्शाएगा।
printf(“%-10.2e”, x);
यह Statement दस Space Reserve करेगा और दशमलव के बाद दो अंक Print करेगा लेकिन Print होने वाला मान Left Justified Print होगा क्योंकि Control String के साथ – Flage का प्रयोग किया गया है।
printf(“%10.2e”, -x);
यह Statement दस Space reserve करेगा और दशमलव के बाद के दो अंकों को Print करेगा साथ ही संख्या को Negative Format में प्रिंट करेगा क्योंकि Variable के सामने Minus का चिन्ह प्रयोग किया गया है।
इन सभी उदाहरणों को निम्नानुसार एक ही प्रोग्राम द्वारा समझा जा सकता है। ये प्रोग्राम बना कर रन कीजिये और देखिये कि किस प्रकार का Formatted Output प्राप्त होता है:
Program /* Formatted Output with Float and Exponential Values */ #include<stdio.h> main() { float x = 12345.6789; clrscr(); printf("\n X is %f", x); printf("\n X is %e", x); printf("\n X is %10.2f", x); printf("\n X is %10.2e", x); printf("\n X is %-10.2f", x); printf("\n X is %-10.2e", x); printf("\n X is %*.*f", 10, 2, x); printf("\n X is %e", 10, 2, x); printf("\n X is %f", -x); printf("\n X is %e", -x); getch(); } Output X is 12345.678989 X is 1.234568e+04 X is 12345.67 X is 1.23e+04 X is 12345.67 X is 1.23e+04 X is 12345.67 X is 1.23e+04 X is -12345.678989 X is -1.234568e+04
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C Programming Language in Hindi | Page: 477 + 265 | Format: PDF