दिलचस्प पोस्ट
जावा में स्विंग का उपयोग करके जीयूआई विकास में सही ढंग से एमवीसी पैटर्न को लागू करना एक दुभाषिया / संकलक काम कैसे करता है सीएसवी में सरणी कन्वर्ट पीएल / पीजीएसक्यूएल जांच अगर एक पंक्ति मौजूद है पीएचपी के लिए कोलासेज फ़ंक्शन? मैं किसी विशिष्ट सूचकांक का उपयोग करने के लिए पोस्टग्रेस को कैसे लागू कर सकता हूं? पीडीओ PHP में क्वेरी त्रुटि को कैसे देखें कैसे खड़ी केंद्र divs? PHP में क्रेडिट कार्ड को मान्य करने का सबसे अच्छा तरीका क्या है? <<से अधिक <<है? पायथन में सूची समझ के साथ एक शब्दकोश बनाएँ Tkinter पर पूर्णस्क्रीन मोड प्रदर्शित करें स्क्रीन के शीर्ष पर एक डिवेल स्टिक को कैसे स्क्रॉल किया जा सकता है? मौजूदा तालिका में SQL सर्वर का चयन करें एंड्रॉइड वॉली – किसी दूसरे वर्ग में अनुरोधों को अलग कैसे करें

जावास्क्रिप्ट में किसी स्ट्रिंग को संख्या बदलने का सबसे अच्छा तरीका क्या है?

संख्या को स्ट्रिंग में बदलने के लिए "सर्वोत्तम" तरीका क्या है (गति लाभ, स्पष्टता लाभ, स्मृति लाभ, आदि के संदर्भ में)?

कुछ उदाहरण:

  1. String(n)

  2. n.toString()

  3. ""+n

  4. n+""

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट में किसी स्ट्रिंग को संख्या बदलने का सबसे अच्छा तरीका क्या है?"

इस तरह:

 var foo = 45; var bar = '' + foo; 

असल में, हालांकि मैं सामान्य रूप से इसे साधारण सुविधा के लिए पसंद करता हूं, 1,000 से अधिक पुनरावृत्तियों से यह कच्ची गति के लिए प्रतीत होता है .toString()

यहां पर प्रदर्शन परीक्षाएं देखें (मेरे द्वारा नहीं, लेकिन जब मैंने अपना अपना लिखना पाया): http://jsben.ch/#/ghQYR

सबसे ऊपर JSPerf परीक्षण पर आधारित: str = num.toString();

यह ध्यान दिया जाना चाहिए कि गति में अंतर काफी अधिक महत्वपूर्ण नहीं है, जब आप मानते हैं कि यह रूपांतरण 0.1 सेकंड में 1 लाख बार कर सकता है

अपडेट: ब्राउज़र द्वारा गति को बहुत भिन्न लगता है क्रोम num + '' इस परीक्षा के आधार पर सबसे तेज़ लग रहा है http://jsben.ch/#/ghQYR

अपडेट 2: इसके बाद की मेरी परीक्षा के आधार पर फिर से यह ध्यान दिया जाना चाहिए कि फ़ायरफ़ॉक्स 20.0.1 .toString() को '' + num नमूना से लगभग 100 गुना धीमा करता है

मेरी राय में n.toString() इसकी स्पष्टता के लिए पुरस्कार लेता है, और मुझे नहीं लगता कि यह किसी अतिरिक्त ओवरहेड को लेता है।

स्पष्ट रूपांतरण किसी के लिए बहुत स्पष्ट है जो भाषा के लिए नया है प्रकार के जबरन का उपयोग करना, जैसा कि अन्य लोगों ने सुझाया है, यदि डेवलपर को मजबूरन नियमों से अवगत नहीं है, तो अस्पष्टता की ओर ले जाता है अंततः डेवलपर का समय सीपीयू समय की तुलना में अधिक महंगा है, इसलिए मैं बाद के खर्च पर पूर्व के लिए अनुकूल होता हूं। कहा जा रहा है कि, इस मामले में अंतर शायद नगण्य है, लेकिन अगर मुझे यकीन नहीं है कि कुछ अच्छे जावास्क्रिप्ट कंप्रेशर्स हैं जो इस प्रकार की चीज़ को अनुकूलित करेंगे

इसलिए, उपरोक्त कारणों के लिए मैं इसके साथ जाना था: n.toString() या String(n) String(n) शायद एक बेहतर विकल्प है क्योंकि यह असफल नहीं होगा यदि n रिक्त या अपरिभाषित है।

किसी भी वैरिएबल को स्ट्रिंग में कनवर्ट करने का सबसे सरल तरीका है कि उस चर को रिक्त स्ट्रिंग जोड़ना।

 5.41 + '' // Result: the string '5.41' Math.PI + '' // Result: the string '3.141592653589793' 
 2..toString(); // the second point is correctly recognized 2 .toString(); // note the space left to the dot (2).toString(); // 2 is evaluated first 

स्रोत

स्पष्ट रूप से जीभ में गाल:

 var harshNum = 108; "".split.call(harshNum,"").join(""); 

या ES6 में आप बस टेम्पलेट स्ट्रिंग का उपयोग कर सकते हैं :

 var harshNum = 108; `${harshNum}`; 

मुझे पहले दो पसंद हैं क्योंकि वे पढ़ने में आसान हैं। मैं String(n) का उपयोग करते हैं लेकिन यह कुछ और की तुलना में शैली का मामला है

जब तक आपके पास एक पंक्ति नहीं होती है

 var n = 5; console.log ("the number is: " + n); 

जो बहुत आत्म व्याख्यात्मक है

यदि आपको दशमलव के किसी विशिष्ट संख्या के लिए परिणाम स्वरूपित करने की आवश्यकता है , उदाहरण के लिए मुद्रा का प्रतिनिधित्व करने के लिए, आपको toFixed() विधि की तरह कुछ चाहिए

 number.toFixed( [digits] ) 

digits दशमलव स्थान के बाद प्रदर्शित करने के लिए अंकों की संख्या है।

मुझे लगता है कि यह स्थिति पर निर्भर करता है, लेकिन वैसे भी आप .toString() विधि का उपयोग कर सकते हैं क्योंकि यह समझने में बहुत स्पष्ट है।

यदि मुझे सब कुछ ध्यान में रखना होता तो मैं निम्नलिखित का सुझाव दूंगा

 var myint = 1; var mystring = myint + ''; /*or int to string*/ myint = myint + '' 

आईएमएचओ, स्ट्रिंग में कनवर्ट करने का सबसे तेज़ तरीका है। अगर मैं ग़लत हूं तो मेरी गलती सुझाएं।

यदि आप उत्सुक हैं कि सबसे अधिक प्रदर्शन करने वाले हैं, तो यह जांचें कि मैं सभी अलग-अलग संख्याओं – स्ट्रिंग रूपांतरणों की तुलना कर रहा हूं।

ऐसा लगता है कि 2+'' या 2+"" सबसे तेज़ हैं

https://jsperf.com/int-2-string