2012-02-08 9 views
5

मैंने आज एक कार्यक्रम लिखा और मुझे अपने आउटपुट में प्रतिशत दिखाने की ज़रूरत है, लेकिन अगर मेरे पास .05375 का इनपुट है तो मुझे इसे 5.375% के रूप में प्रदर्शित करने की आवश्यकता है, मैंने सोचा कि मैं नंबरफॉर्मेट का उपयोग करके ऐसा कर सकता हूं लेकिन मेरा अंतिम प्रदर्शन बस 5% है। क्या यह decimals दिखाने के लिए एक तरीका है? या मैं इसके आसपास कैसे कोड करूंगा? कार्यक्रम ठीक से काम करता है यह सिर्फ एक आउटपुट है जिसे अलग-अलग स्वरूपित करने की आवश्यकता है। नीचे कोड की उस पंक्ति के लिए मेरे आउटपुट के लिए मेरे पास क्या है।क्षैतिज दिखाने के लिए जावा प्रतिशत

System.out.println("Interest Rate: " + percent.format(InterestRate)); 
+0

प्रारूपण की आवश्यकताओं में से एक मुझे 3 दशमलव स्थानों को दिखाने की आवश्यकता है। –

+1

संभावित डुप्लिकेट [आप java.text.MessageFormat के साथ एक आंशिक प्रतिशत कैसे प्रारूपित करते हैं] (http://stackoverflow.com/questions/698261/how-do-you-format-a-fractional-percentage-with-java- टेक्स्ट-मैसेजफॉर्मेट) – Veger

+0

@ वीगर मैंने उस पोस्ट को तब नहीं देखा जब मैंने खोज की थी। धन्यवाद! –

उत्तर

10

आप क्या कर सकते हैं कि जावा में NumberFormat का उपयोग कर।

NumberFormat numberFormat = NumberFormat.getNumberInstance(); 
numberFormat.setMinimumFractionDigits(3); 

System.out.println("Interest Rate: " + numberFormat.format(InterestRate)); 

एक बेहतर दृष्टिकोण लोकेल साथ NumberFormat उपयोग करने के लिए है, के रूप में नीचे: नीचे नमूना कोड है

NumberFormat numberFormat = NumberFormat.getNumberInstance(someLocale); 
+1

मुझे इसे सेट करने के लिए इसे बदलना था मैक्सिमफ्रैक्शनडिजिट्स (3); एक और गणना के कारण लेकिन यह काम किया। धन्यवाद! –

+0

आपको अभी भी 100 से गुणा करने की आवश्यकता है। –

+1

@ पीटर लॉरी क्या आप निश्चित रूप से पीटर हैं? यह मेरे लिए काम करता था जब मैंने इसे प्रतिशत उदाहरण प्राप्त करने के लिए कोड किया जो मुझे प्रतिशत प्रदर्शित करने के लिए कहता है (मुझे लगता है कि यह जावा को 100 से गुणा करने के लिए कह रहा है) और फिर मैंने अधिकतम दशमलव अंक सेट किए जो मेरे दशमलव बिंदु के लिए अनुमति देते हैं। मैंने कई सफल परीक्षण चलाए हैं लेकिन मैं इसके लिए नया हूं इसलिए मैं जावा के साथ 100% नहीं हूं। –

0

उपयोग: String.format(); प्रारूप विनिर्देश के लिये दस्तावेज का संदर्भ लें।

6

आप % प्रारूप का उपयोग करते हैं, संख्या आप के लिए 100 से गुणा किया जाता:

new DecimalFormat("%#0.000").format(rate); 
+0

क्या यह तीन दशमलव स्थानों के लिए '0.000' नहीं होगा? –

+0

@ पीटर Lawrey हाँ, इसे स्किम किया :( – Bohemian

+0

मैंने इसे '7575% के रूप में प्रदर्शित करने की आवश्यकता है' से लिया लेकिन मुझे पता है कि आपका क्या मतलब है।;) –

7

कैसे के बारे में

System.out.printf("Interest Rate: %.3f%%%n", 100 * InterestRate); 
+1

+1 अच्छा एपी कुंग फू – Bohemian

0
double myVal = 0.05375 
System.out.println("Interest Rate: " + (myVal*100) + "%"); 

यह आपको 5.375%

देना चाहिए के समान है तुम क्या ढूंढ रहे हो?

+0

होना चाहिए '%' कहां से आना चाहिए? – Blaisorblade

1

चयनित उत्तर सही है, लेकिन का उपयोग सुनिश्चित करें

NumberFormat.getPercentInstance(); 

जो प्रतिशत से निपटने में अच्छी तरह से सहायता करेगा। कोई भी अतिरिक्त स्ट्रिंग concatenation या स्वरूपण आवश्यक नहीं है।

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