2011-11-15 14 views
14

(डुप्लिकेट नहीं पा सके)प्रतिशत प्रारूप विनिर्देशक 100 से गुणा क्यों करता है?

क्या किसी को पता है कि क्यों:

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#PFormatString

'पी' स्ट्रिंग प्रतिशत के लिए प्रारूप, गुणकों प्रतिशत चिह्न के साथ प्रारूपित से पहले 100 से मूल्य?

प्रतिशत ("पी") फॉर्मेट स्पेसिफायर

प्रतिशत ("पी") फॉर्मेट स्पेसिफायर 100 से एक नंबर गुणा और एक स्ट्रिंग है कि एक प्रतिशत का प्रतिनिधित्व करता में बदल देता है। परिशुद्धता विनिर्देशक दशमलव स्थानों की वांछित संख्या इंगित करता है। यदि सटीक विनिर्देशक छोड़ा गया है, तो वर्तमान प्रतिशत DecimalDigits प्रॉपर्टी द्वारा की डिफ़ॉल्ट संख्यात्मक परिशुद्धता का उपयोग किया जाता है।

क्या फॉर्मेटिंग से पहले 100 से गुणा होने से मूल्य को रोकने के लिए वैसे भी है? बल्कि कर से:

(value/100).ToString("p") 
+4

आमतौर पर आप कोड के अंदर दशमलव पर्सेंट के साथ काम करते हैं (जैसे '0.5' ->' 50% ')। उपयोगकर्ता को प्रतिशत साइन के साथ अच्छी पूर्ण-आश संख्याएं देखना पसंद है, जो यह कार्य करता है। – Blender

+1

@ ब्लेंडर: आमतौर पर नहीं, हमेशा! – leppie

+1

प्रतिशत => प्रति प्रतिशत (लैटिन में प्रति सौ प्रतिशत "प्रति सौ"), स्रोत विकी, http://en.wikipedia.org/wiki/Percentage –

उत्तर

18

क्यों के रूप में, "प्रतिशत" का शाब्दिक अर्थ "एक सौ से बाहर" का अर्थ है, तो 50% गणितीय 0.50 के बराबर है। स्वरूपण के रूप में, क्यों न सिर्फ एक प्रतिशत संकेत जोड़ें?

value + "%" 

... या कुछ इस तरह:

value.ToString("#.00\\%") 
+3

प्रतिशत साइन उपयोग संस्कृति विशिष्ट है, कुछ संस्कृतियों ने इसे शुरुआत में रखा है, कुछ अंत में, कुछ 50% के बजाय 50.00% निर्दिष्ट करते हैं, इसलिए प्रतिशत को प्रारूपित करना चाहते हैं। – Phill

+2

@Phill: आपकी आवश्यकताओं को वास्तव में क्या चल रहा है? उदाहरण के लिए, आप फ़ॉर्मेटिंग से पहले संख्या को 100 से विभाजित क्यों नहीं करना चाहते हैं? क्या यह सिर्फ कुछ मनमानी आवश्यकता है जिसके साथ आप आए हैं, या इसके पीछे कुछ तर्क है? – StriplingWarrior

+2

@Phill शिक्षा के लिए, इस पर काबू पाने के लिए, आप 'CurrentUICulture.NumberFormatInfo' का उपयोग कर सकते हैं, और इस जानकारी का उपयोग अपनी सांस्कृतिक रूप से सही स्वरूपण (जैसे' ToString' करता है, विभाजन के बिना) बनाने के लिए करते हैं। लड़का, क्या वह मजेदार नहीं लगता है? –

5

आप आम तौर पर दशमलव percents के साथ कोड के अंदर, 0.5 और 1.0 तरह काम करते हैं, लेकिन उपयोगकर्ता एक प्रतिशत चिह्न के साथ अच्छा पूर्ण संख्याओं को देखने के लिए पसंद करती है अंत में tacked।

प्रतिशत "से बाहर 100" और स्पष्ट रूप से अपनी दशमलव percents 1 से बाहर हैं मतलब है। इसलिए, .ToString("p") आपकी संख्या को 100 से गुणा करता है और फिर प्रतिशत चिह्न जोड़ता है।

यह सिर्फ परिभाषा है।

+0

आपके उत्तर में "आपका फ़ंक्शन" क्या संदर्भित करता है? – Gabe

+2

मैं आपको और अधिक ऊपर उठाना चाहता हूं! :) – leppie

+0

@Gabe: मैं थोड़ी अधिक verbose होगा, क्षमा करें। – Blender

1

आप 100 से मूल्य गुणा करने के लिए नहीं करना चाहते हैं, बस प्रतिशत% के अलावा मूल्य में प्रवेश किया, यानी VALUE.00% यदि मान अन्यथा 0.00% डिफ़ॉल्ट दर्ज किया चाहते हैं, तो जवाब है

PERCENTAGE_FORMAT = "# 0.00 \%";

यह निश्चित रूप से मेरे लिए काम करता है !!

+0

प्रश्न यह था कि ** यह व्यवहार क्यों होता है, और इसे सही ढंग से प्रारूपित करने के तरीके को नहीं –

+0

इसने प्रश्न का उत्तर नहीं दिया हो सकता है, लेकिन मुझे यह मूल्यवान लगता है, इसलिए मेरे द्वारा +1 – CarllDev

संबंधित मुद्दे