2012-02-14 17 views
6

मुझे उपयोगकर्ता द्वारा दो नंबर इनपुट जोड़ने की आवश्यकता है। ऐसा करने के लिए, मैं दो इनपुट फ़ील्ड बना देता हूं, उनसे मूल्यों को पुनर्प्राप्त करता हूं, .val() का उपयोग करके दो अलग-अलग चर में और फिर उन्हें जोड़ता हूं। समस्या यह है कि तार जोड़े गए हैं और संख्याएं नहीं हैं। उदाहरण के लिए। 2 + 3 23 हो जाता है और नहीं 5. कृपया सुझाव दें कि इनपुट बॉक्स में टाइप = संख्या का उपयोग करने के अलावा, क्या करना है।टेक्स्ट फ़ील्ड में उपयोगकर्ता द्वारा संख्या इनपुट के संख्यात्मक मूल्य

+0

के संभावित डुप्लिकेट [जावास्क्रिप्ट नंबर करने के लिए स्ट्रिंग परिवर्तित करने के लिए?] (http://stackoverflow.com/questions/2130454/javascript-to-convert-st रिंग-टू-नंबर) –

उत्तर

6

आप parseInt उपयोग कर सकते हैं (...)

उदाहरण:

var num = parseInt("2", 10) + parseInt("3", 10); 
// num == 5 
+0

क्या होगा यदि उपयोगकर्ता '2.5' में प्रवेश करता है? यहां तक ​​कि यदि आप मानते हैं कि केवल पूर्णांक की अनुमति है, तो कृपया 'parseInt (" 2 ", 10)' के साथ बेस 10 निर्दिष्ट करने के लिए दूसरे पैरामीटर का उपयोग किए बिना 'parseInt() 'का सुझाव न दें, अन्यथा यदि उपयोगकर्ता अग्रणी शून्य में प्रवेश करता है (उदाहरण के लिए, "077") यह (ब्राउज़र के आधार पर) को ऑक्टल के रूप में माना जा सकता है; यदि उपयोगकर्ता अग्रणी "0x" में प्रवेश करता है तो इसे हेक्साडेसिमल के रूप में माना जाएगा। – nnnnnn

4

उपयोग parseInt एक संख्या में एक स्ट्रिंग परिवर्तित करने के लिए:

var a = '2'; 
var b = '3'; 
var sum = parseInt(a,10) + parseInt(b,10); 
console.log(sum); /* 5 */ 

ध्यान रखें कि parseInt(str, rad) केवल इसलिए यदि आप अन्य ठिकानों आप करेंगे अनुमति देना चाहते हैं काम करता है, तो str वास्तव में आधार rad की एक संख्या में शामिल होगा, उन्हें मैन्युअल रूप से जांचने की आवश्यकता है। यह भी ध्यान रखें कि यदि आप पूर्णांक से अधिक चाहते हैं तो आपको parseFloat का उपयोग करने की आवश्यकता होगी।

+0

क्या होगा यदि 'ए' '2.5'' है? क्या होगा यदि कोई '0x77'' या' 077'' है और आपने रेडिक्स निर्दिष्ट नहीं किया है? – nnnnnn

+0

@nnnnnn: इसे ठीक किया गया, यह मेरे शुरुआती उत्तरों में से एक था और मुझे उस समय 'parseInt' मुद्दों के बारे में पता नहीं था। – Zeta

0

या तो का उपयोग parseInt (http://www.w3schools.com/jsref/jsref_parseint.asp) या parseFloat (http : //www.w3schools.com/jsref/jsref_parsefloat.asp) जोड़ने से पहले एक संख्यात्मक मान में कनवर्ट करने के लिए।

पीएस: यह एक आसान जवाब है। आप ट्रिमिंग कुछ मान्यता/अलग करना क्या करना चाहते हो सकता है/आदि

0

संख्या() फ़ंक्शन आप चाहते हैं "123A" रिटर्न नेन

parseInt (है) अनुगामी पत्र "123A" ट्रंकेटस रिटर्न 123

<input type="text" id="txtFld" onblur="if(!Number(this.value)){alert('not a number');}" /> 
संबंधित मुद्दे