2012-03-17 14 views
14

मुझे StringFormat विधि में प्रतिशत का उपयोग करने में तकनीकी समस्या है।स्ट्रिंगफॉर्मैट में

String.Format("{0:P}", 0.8526) का परिणाम 85.26%

है, लेकिन मुझे लगता है कि यह 0.8526%

यह सही है किया जाना चाहिए? यदि हां, तो मैं 0.8526% कैसे प्राप्त कर सकता हूं?

+4

String.Format ("{0}%", .8526) – Steve

उत्तर

17

Console.WriteLine(string.Format("{0}%", 0.8526));

12

हाँ गणितीय 0.8526 85.26% के बराबर है। आप 0.8526% पाने के लिए की जरूरत है तो इस

String.Format("{0:P}", 0.8526/100) 
+0

मैं ग्रिड में DataFormatString उपयोग करना चाहते हैं। मैं वहां विभाजित कैसे कर सकता हूं? – Mironline

+0

आपके मामले में आपको विभाजित करने की भी आवश्यकता नहीं है। यदि आपको '0.8526'' 0.8526% 'की आवश्यकता है तो आप संख्या में'% 'क्यों नहीं जोड़ते? '0.8526%" = 0.8526.ToString() + "%" '। क्या यह मदद करता है? – Kaf

+4

-1 एक ही राशि से विभाजित और गुणा क्यों करें? बस आउटपुट {0}% –

2

String.Format कोशिश 100 से गुणा करें जब आप% या उपयोग करेगा: पी String.Format आप 100 पहले से विभाजित करना चाहिए आप के लिए क्या देख रहे प्राप्त करने के लिए चाहते हैं।

+3

-1 एक ही राशि से विभाजित और गुणा क्यों करें? बस आउटपुट {0}% –

+6

@Chris क्योंकि स्ट्रिंग.फॉर्मैट प्रतिशत संस्कृति को स्वरूपित करने के लिए मौजूदा संस्कृति के नियमों को ध्यान में रखेगा जबकि {0}% यूएस-एन मानक को हार्ड-कोडिंग कर रहा है। –

+0

यह एक विशिष्ट संस्कृति के लिए हार्ड कोडिंग की तरह है, लेकिन वास्तव में नहीं। डबल प्रारूप प्रारूप का उपयोग करके डबल को प्रारूपित रूप से स्वरूपित किया जाएगा। प्रतिशत प्रतीक को पूरी तरह से अनदेखा करते हुए, जी प्रारूप विनिर्देशक प्रारूप संख्या पी से अलग है, मुख्य रूप से डिफ़ॉल्ट रूप से कितने दशमलव स्थान दिखाए जाते हैं। आपको बस https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx पर जी और पी के बारे में पढ़ना चाहिए। – user1676558

2

0-100% से एक प्रतिशत माना जाता है और संबंधित फ्लोटिंग पॉइंटर संख्या 0.0-1.0 से मानी जाती है क्योंकि यह दो संख्याओं के बीच अनुपात है।