दिलचस्प पोस्ट
विंडोज़ फोन पर ताज़ा करने के लिए खींचें क्या मैं 100% चौड़ाई वाले टेक्स्ट बॉक्स को अपने कंटेनरों से परे तक फैलाने से रोक सकता हूं? नोआहुप प्रक्रिया को मारने के लिए प्रक्रिया आईडी कैसे प्राप्त करें? requirejs, नियंत्रक के आलसी लोडिंग के साथ कोणीय रूटर-राउटर एप्लिकेशन को बंद करें और Android पर होम स्क्रीन लॉन्च करें एक्लिप्स का इस्तेमाल करते हुए लाइन से एंड्रॉइड एप्लिकेशन लाइन को डीबग कैसे करें? क्यों IEnumerable <T> IEnumerable से वंशानुगत है? PHP में वस्तु की संरक्षित संपत्ति कैसे प्राप्त करें क्या प्राथमिक कुंजी को स्वचालित रूप से MySQL में अनुक्रमित किया जाता है? .NET अनुप्रयोग XamlParseException को प्रारंभ और प्राप्त नहीं कर सकता डाक एक फ़ील्ड को एक फार्म पर कैसे सेट करें? XML के XPath, SelectNodes, SelectSingleNode के JSON.NET बराबर क्या है? मैट्रिक्स के ब्लॉक-विकर्ण बाइंडिंग Django 1.7 और डेटा माइग्रेशन के साथ शुरुआती डेटा लोड हो रहा है पायथन क्यों कार्यात्मक प्रोग्रामिंग के लिए बहुत अच्छा नहीं है?

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

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

कुछ उदाहरण:

  1. String(n)

  2. n.toString()

  3. ""+n

  4. n+""

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

इस तरह:

 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