दिलचस्प पोस्ट
यह निर्धारित करने का सबसे तेज़ तरीका है कि एक पूर्णांक मान के ज्ञात सेटों के साथ दो पूर्णांक (समस्त) के बीच है एक वर्ग क्यों मुहर? PHP कर्ल और कुकीज़ एक HTML तालिका बनाएं जहां प्रत्येक टीआर एक फॉर्म है VBA में मौजूदा कार्यपत्रक का मार्ग कैसे प्राप्त करें? जावास्क्रिप्ट में संपत्ति के माध्यम से वस्तुओं का समूह कैसे स्क्रॉल दिशा का पता लगाने के लिए निर्भरता के साथ एक जार बनाने के लिए Gradle का उपयोग करना स्क्रीन के बीच अंतर। AwailHeight और window.height () विकिपीडिया शब्द सामग्री कैसे प्राप्त करें? एंड्रॉइड में सूचना को कैसे साफ़ करें कैसे एक आइटम अपनी संभावना से चुनने के लिए? क्या जावास्क्रिप्ट के साथ गतिशील चर बनाने का एक आसान तरीका है? एक LINQ क्वेरी में SQL उपयोगकर्ता-परिभाषित फ़ंक्शन कॉल करना "नया {..}" LINQ क्वेरी के साथ CopyToDataTable का उपयोग करने की अपवाद

एक निश्चित स्थिति में एक स्ट्रिंग में एक वर्ण डालें

मैं एक 6 अंकों के मान के साथ एक int में मिल रहा हूँ मैं इसे एक String रूप में एक दशमलव बिंदु (।) के साथ int के अंत से 2 अंक पर प्रदर्शित करना चाहता हूं। मैं एक float का उपयोग करना चाहता था, लेकिन बेहतर प्रदर्शन आउटपुट के लिए String का उपयोग करने का सुझाव दिया गया था ( 1234.5 बजाय 1234.50 )। इसलिए, मुझे फ़ंक्शन की आवश्यकता है जो एक int को पैरामीटर के रूप में ले जाएगा और ठीक से प्रारूपित String को अंत से दशमलव अंक 2 अंकों के साथ वापस करेगा।

कहते हैं:

 int j= 123456 Integer.toString(j); //processing... //output : 1234.56 

Solutions Collecting From Web of "एक निश्चित स्थिति में एक स्ट्रिंग में एक वर्ण डालें"

 int j = 123456; String x = Integer.toString(j); x = x.substring(0, 4) + "." + x.substring(4, x.length()); 

जैसा कि टिप्पणियों में बताया गया है, स्ट्रिंगबिलर संभवतः स्ट्रिंगबफ़र का इस्तेमाल करते हुए एक तेज कार्यान्वयन है जावा डॉक्स में बताए अनुसार:

यह वर्ग स्ट्रिंगबफर के साथ एक एपीआई प्रदान करता है, लेकिन सिंक्रनाइज़ेशन की कोई गारंटी नहीं है। इस वर्ग को स्ट्रिंगबफर के लिए ड्रॉप-इन प्रतिस्थापन के रूप में उपयोग के लिए डिज़ाइन किया गया है जहां स्ट्रिंग बफर एक धागे (आमतौर पर मामला है) द्वारा उपयोग किया जा रहा था। जहां संभव हो, यह अनुशंसा की जाती है कि इस वर्ग को स्ट्रिंगबफर के लिए वरीयता में इस्तेमाल किया जाना चाहिए क्योंकि यह अधिकांश कार्यान्वयन के तहत तेज़ी से होगा

उपयोग:

 String str = Integer.toString(j); str = new StringBuilder(str).insert(str.length()-2, ".").toString(); 

या यदि आपको सिंक्रनाइज़ेशन की आवश्यकता होती है तो समान उपयोग के साथ स्ट्रिंगबफ़र का उपयोग करें:

 String str = Integer.toString(j); str = new StringBuffer(str).insert(str.length()-2, ".").toString(); 
 int your_integer = 123450; String s = String.format("%6.2f", your_integer / 100.0); System.out.println(s); 

आप उपयोग कर सकते हैं

 System.out.printf("%4.2f%n", ((float)12345)/100)); 

टिप्पणियों के अनुसार, 12345 / 100.0 बेहतर होगा, जैसा कि फ्लोट के बजाय डबल का उपयोग होता है।

यदि आप ऐसी प्रणाली का उपयोग कर रहे हैं जहां फ्लोट महंगे है (जैसे कोई एफपीयू नहीं) या अनुमति नहीं है (जैसे अकाउंटिंग में) आप इस तरह से कुछ का उपयोग कर सकते हैं:

  for (int i = 1; i < 100000; i *= 2) { String s = "00" + i; System.out.println(s.substring(Math.min(2, s.length() - 2), s.length() - 2) + "." + s.substring(s.length() - 2)); } 

अन्यथा दशमलवफल बेहतर समाधान है। (ऊपर स्ट्रिंगबइल्डर संस्करण छोटे नंबरों (<100) के साथ काम नहीं करेगा

  public static void main(String[] args) { char ch='m'; String str="Hello",k=String.valueOf(ch),b,c; System.out.println(str); int index=3; b=str.substring(0,index-1 ); c=str.substring(index-1,str.length()); str=b+k+c; } 

अधिकांश उपयोग-मामले में, StringBuilder (पहले से ही उत्तर दिए गए) का उपयोग करना ऐसा करने का एक अच्छा तरीका है हालांकि, अगर प्रदर्शन महत्वपूर्ण है, यह एक अच्छा विकल्प हो सकता है

 /** * Insert the 'insert' String at the index 'position' into the 'target' String. * * ```` * insertAt("AC", 0, "") -> "AC" * insertAt("AC", 1, "xxx") -> "AxxxC" * insertAt("AB", 2, "C") -> "ABC * ```` */ public static String insertAt(final String target, final int position, final String insert) { final int targetLen = target.length(); if (position < 0 || position > targetLen) { throw new IllegalArgumentException("position=" + position); } if (insert.isEmpty()) { return target; } if (position == 0) { return insert.concat(target); } else if (position == targetLen) { return target.concat(insert); } final int insertLen = insert.length(); final char[] buffer = new char[targetLen + insertLen]; target.getChars(0, position, buffer, 0); insert.getChars(0, insertLen, buffer, position); target.getChars(position, targetLen, buffer, position + insertLen); return new String(buffer); }