2010-07-09 12 views
9

मुझे पता है कि एक्स ज़ीरो की प्रमुख राशि कैसे करें, और मुझे पता है कि दशमलव बिंदुओं की एक्स राशि कैसे करें। लेकिन, मैं उन्हें दोनों कैसे कर सकता हूं?printf अग्रणी शून्यों के साथ फ़्लोटिंग पॉइंट्स कैसे करें

मैं 4: 0000.00 की दशमलव परिशुद्धता के लिए 4 अग्रणी शून्य ढूंढ रहा हूं। इसलिए 43.4 होगा 0043,40

+1

कृपया एक 'printf'-प्रश्न' सी टैग नहीं करते ++ '। –

+3

@ Space_C0wb0y: C++ में printf का उपयोग करने में कुछ भी गलत नहीं है। एक आदर्श दुनिया में हर कोई अपने सी ++ में आईस्ट्रीम का उपयोग करेगा, लेकिन हम एक आदर्श दुनिया में नहीं रहते हैं। इसके अलावा, कभी-कभी एक स्ट्रिंग को स्वरूपित करना आसान होता है जिस तरह से printf के साथ चाहता है। – George

+0

मेरी राय में सी ++ में 'printf' का उपयोग करने में वास्तव में बहुत गलत है। सी और सी ++ दो पूरी तरह से अलग-अलग भाषाएं हैं, और लोग अलग-अलग धारणाएं करते हैं कि सी ++ में कौन सी सी विशेषताएं ठीक हैं और जो नहीं हैं। अलग-अलग धारणाएं हमेशा परेशानी का कारण बनती हैं। –

उत्तर

17

इस printf (C, Perl, PHP) प्रारूप स्ट्रिंग का प्रयास करें:

"%07.2f" 
+0

जावा में एक printf भी है ... (System.out.printf()) – st0le

+0

@ st0le: तो पाइथन ('%' ऑपरेटर के माध्यम से) करता है लेकिन मैंने भाषाओं की सूची में योगदान नहीं दिया। उत्तर को आगे संपादित करने के लिए स्वतंत्र महसूस करें। –

+1

यह उल्लेख करने योग्य होगा कि पहले नंबर (7) का मतलब कुल लंबाई है जिसमें पूर्णांक भाग, आंशिक भाग और एफपी डॉट स्वयं (और वैकल्पिक "शून्य" चिह्न भी शामिल है)। – Konstantin

-1

जावा: Formatter वर्ग का उपयोग करें। उम्मीद के उपयोग के उदाहरण:

StringBuilder sb = new StringBuilder(); 
// Send all output to the Appendable object sb 
Formatter formatter = new Formatter(sb, Locale.US); 

// Explicit argument indices may be used to re-order output. 
formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d") 
// -> " d c b a" 

// Optional locale as the first argument can be used to get 
// locale-specific formatting of numbers. The precision and width can be 
// given to round and align the value. 
formatter.format(Locale.FRANCE, "e = %+10.4f", Math.E); 
// -> "e = +2,7183" 

// The '(' numeric flag may be used to format negative numbers with 
// parentheses rather than a minus sign. Group separators are 
// automatically inserted. 
formatter.format("Amount gained or lost since last statement: $ %(,.2f", 
       balanceDelta); 
// -> "Amount gained or lost since last statement: $ (6,217.58)" 
8

यहाँ कोड की जरूरत है:

float myNumber = 43.4; 
DecimalFormat formatter = new DecimalFormat("0000.00"); //use # for optional digits instead of 0 
System.out.println(formatter.format(myNumber)); 
+1

जिस तरह से मैं आजकल कुछ अन्य प्रोग्रामिंग भाषाओं में कोडिंग कर रहा था। इस तरह से मैं प्रसिद्ध जावा प्रोग्रामिंग सम्मेलन में चर my_number का नाम लिखना भूल गया: CamelCase। यह सम्मेलन के अनुसार मेरा नंबर होना चाहिए। ;) –

+2

'my_number' बनाम myNumber को समझाने के लिए टिप्पणी करने के बजाय, कृपया अपना उत्तर संपादित करें। – GreenMatt

+1

मुझे नहीं लगता कि उसके पास अभी तक अपने उत्तरों को संपादित करने के लिए पर्याप्त प्रतिनिधि हैं। पर मै करता हू। –

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