मैं इसे केवल फ़ायरफ़ॉक्स के जावास्क्रिप्ट कंसोल में आज़मा रहा हूँ, लेकिन दोनों में से कोई भी कथन सही नहीं है:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
मैं इसे केवल फ़ायरफ़ॉक्स के जावास्क्रिप्ट कंसोल में आज़मा रहा हूँ, लेकिन दोनों में से कोई भी कथन सही नहीं है:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
जवाबों:
इस कोड को आज़माएं:
isNaN(parseFloat("geoff"))
यह जाँचने के लिए कि क्या कोई मान NaN है, केवल संख्याओं के बजाय, यहाँ देखें: आप जावास्क्रिप्ट में NaN के लिए परीक्षण कैसे करते हैं?
NaN
, तो हाँ। (मैं आपको हमेशा नहीं कह रहा हूँ।)
isNaN(parseFloat("geoff")) // true
isNaN(parseFloat("10geo")) // false
यह कैसे उपयोगी है?
मैं अभी-अभी इस तकनीक को प्रभावी जावास्क्रिप्ट पुस्तक में आया है जो बहुत सरल है:
चूंकि NaN केवल जावास्क्रिप्ट मान है जो अपने आप में असमान के रूप में व्यवहार किया जाता है, आप हमेशा यह परीक्षण कर सकते हैं कि क्या मान खुद के लिए समानता की जाँच करके NaN है:
var a = NaN;
a !== a; // true
var b = "foo";
b !== b; // false
var c = undefined;
c !== c; // false
var d = {};
d !== d; // false
var e = { valueOf: "foo" };
e !== e; // false
जब तक @allyed ने टिप्पणी नहीं की, तब तक इसका एहसास नहीं हुआ, लेकिन यह ECMA कल्पना में है: https://tc39.github.io/ecma262/#sec-isnan-number
इस कोड का उपयोग करें:
isNaN('geoff');
isNaN()
MDN पर डॉक्स देखें ।
alert ( isNaN('abcd')); // alerts true
alert ( isNaN('2.0')); // alerts false
alert ( isNaN(2.0)); // alerts false
var value = 0/0;
और var value2= String("123 131");
NaN मान बना सकते हैं और कुछ इस तरह var value3 = "abcd";
यह भी एक NaN मूल्य है।
जहाँ तक प्रकार संख्या के मान का परीक्षण किया जाना है कि यह एक कार्य है NaN
या नहीं, वैश्विक कार्य isNaN
करेगा
isNaN(any-Number);
जेएससी के सभी प्रकारों के लिए काम करने वाले एक सामान्य दृष्टिकोण के लिए, हम निम्नलिखित में से किसी का उपयोग कर सकते हैं:
ECMAScript-5 उपयोगकर्ताओं के लिए:
#1
if(x !== x) {
console.info('x is NaN.');
}
else {
console.info('x is NOT a NaN.');
}
ECMAScript-6 का उपयोग करने वाले लोगों के लिए:
#2
Number.isNaN(x);
और ECMAScript 5 और 6 दोनों में स्थिरता के उद्देश्य के लिए, हम Number.isNan के लिए भी इस पॉलीफ़िल का उपयोग कर सकते हैं
#3
//Polyfill from MDN
Number.isNaN = Number.isNaN || function(value) {
return typeof value === "number" && isNaN(value);
}
// Or
Number.isNaN = Number.isNaN || function(value) {
return value !== value;
}
अधिक जानकारी के लिए कृपया इस उत्तर को देखें।
isNaN
तर्क को एक संख्या मान में परिवर्तित करता है।
NaN एक विशेष मूल्य है जिसे उस तरह से परीक्षण नहीं किया जा सकता है। एक दिलचस्प बात जो मैं सिर्फ साझा करना चाहता था वह यह है
var nanValue = NaN;
if(nanValue !== nanValue) // Returns true!
alert('nanValue is NaN');
यह केवल NaN मूल्यों के लिए सही है और परीक्षण का एक सुरक्षित तरीका है। निश्चित रूप से एक फ़ंक्शन में लपेटा जाना चाहिए या कम से कम टिप्पणी की जानी चाहिए, क्योंकि यह स्पष्ट रूप से परीक्षण करने के लिए बहुत मायने नहीं रखता है कि क्या एक ही चर एक दूसरे के बराबर नहीं है, हेह।
आपको वैश्विक isNaN(value)
फ़ंक्शन कॉल का उपयोग करना चाहिए , क्योंकि:
उदाहरण:
isNaN('geoff'); // true
isNaN('3'); // false
उम्मीद है इससे आपको मदद मिलेगी।
isNaN('') //false
लेकिन parseInt('') //NaN
। उसी के लिए कहा जा सकता है null
।
ES6 के रूप में , Object.is(..)
एक नई उपयोगिता है जिसका उपयोग पूर्ण समानता के लिए दो मूल्यों का परीक्षण करने के लिए किया जा सकता है:
var a = 3 / 'bar';
Object.is(a, NaN); // true
जहाँ समस्या '1.2geoff'
पार्स हो जाती है, उसे ठीक करने के लिए, बस का उपयोग करेंNumber()
पार्सर का ।
इसलिए इसके बजाय:
parseFloat('1.2geoff'); // => 1.2
isNaN(parseFloat('1.2geoff')); // => false
isNaN(parseFloat('.2geoff')); // => false
isNaN(parseFloat('geoff')); // => true
यह करो:
Number('1.2geoff'); // => NaN
isNaN(Number('1.2geoff')); // => true
isNaN(Number('.2geoff')); // => true
isNaN(Number('geoff')); // => true
संपादित करें: मैं सिर्फ इस से एक और मुद्दा देखा ... झूठे मूल्यों (और एक असली बूलियन के रूप में सच) के Number()
रूप में बदले में पारित कर दिया 0
! किस मामले में ... इसके बजाय हर बार parseFloat काम करता है। तो उस पर वापस जाएँ:
function definitelyNaN (val) {
return isNaN(val && val !== true ? Number(val) : parseFloat(val));
}
और वह सब कुछ प्रतीत होता है। मैंने इसे दर्ज करने की तुलना में 90% धीमी गति से बेंचमार्क किया, _.isNaN
लेकिन फिर वह सभी NaN को कवर नहीं करता है:
http://jsperf.com/own-isnan-vs-underscore-lodash-isnan
बस स्पष्ट होने के लिए, मेरा किसी चीज़ की मानवीय शाब्दिक व्याख्या का ध्यान रखता है जो "नॉट नॉट" है और लॉश का कंप्यूटर की शाब्दिक व्याख्या की देखभाल करता है अगर कुछ "NaN" है।
जबकि @chiborg का उत्तर IS सही है, इसमें और भी बहुत कुछ है जिसे नोट किया जाना चाहिए:
parseFloat('1.2geoff'); // => 1.2
isNaN(parseFloat('1.2geoff')); // => false
isNaN(parseFloat('.2geoff')); // => false
isNaN(parseFloat('geoff')); // => true
यदि आप इनपुट के सत्यापन के लिए इस पद्धति का उपयोग कर रहे हैं, तो इसका परिणाम उदार होगा।
तो, हां आप parseFloat(string)
(या पूर्ण संख्या के मामले में) का उपयोग कर सकते हैं parseInt(string, radix)
और फिर बाद में उस के साथ लपेट सकते हैं isNaN()
, लेकिन अतिरिक्त गैर-संख्यात्मक वर्णों के साथ intertwined संख्याओं के साथ गोचा के बारे में पता होना चाहिए।
parseFloat('test1.2')
वापस आ जाएगा NaN
।
वास्तव में सुपर सरल! यहाँ! इस विधि है!
function isReallyNaN(a) { return a !== a; };
के रूप में सरल का उपयोग करें:
if (!isReallyNaN(value)) { return doingStuff; }
hereइस फंक बनाम का उपयोग करके प्रदर्शन परीक्षण देखेंselected answer
इसके अलावा: युगल वैकल्पिक कार्यान्वयन के लिए 1 उदाहरण नीचे देखें।
function isReallyNaN(a) { return a !== a; };
var example = {
'NaN': NaN,
'an empty Objet': {},
'a parse to NaN': parseFloat('$5.32'),
'a non-empty Objet': { a: 1, b: 2 },
'an empty Array': [],
'a semi-passed parse': parseInt('5a5'),
'a non-empty Array': [ 'a', 'b', 'c' ],
'Math to NaN': Math.log(-1),
'an undefined object': undefined
}
for (x in example) {
var answer = isReallyNaN(example[x]),
strAnswer = answer.toString();
$("table").append($("<tr />", { "class": strAnswer }).append($("<th />", {
html: x
}), $("<td />", {
html: strAnswer
})))
};
table { border-collapse: collapse; }
th, td { border: 1px solid; padding: 2px 5px; }
.true { color: red; }
.false { color: green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table></table>
यदि आप वैकल्पिक रूप से नामित विधि का उपयोग नहीं करना चाहते हैं, तो कुछ वैकल्पिक मार्ग हैं, जिन्हें आप कार्यान्वयन के लिए लेते हैं, और यह सुनिश्चित करना चाहते हैं कि यह विश्व स्तर पर उपलब्ध हो। चेतावनी इन समाधानों में मूल वस्तुओं को बदलना शामिल है, और आपका सबसे अच्छा समाधान नहीं हो सकता है। हमेशा सावधानी बरतें और इस बात से अवगत रहें कि आपके द्वारा उपयोग की जा सकने वाली अन्य लाइब्रेरी मूल कोड या समान परिवर्तनों पर निर्भर हो सकती हैं।
isNaN
विधि को बदलें ।// Extremely simple. Just simply write the method.
window.isNaN = function(a) { return a !==a; }
Number['isNaN'] || (Number.isNaN = function(a) { return a !== a });
// Use as simple as
Number.isNaN(NaN)
खाली होने पर वैकल्पिक समाधान परीक्षण
एक साधारण खिड़की विधि मैंने लिखा है कि यदि वस्तु खाली है तो परीक्षण करें । यह थोड़ा अलग है कि यह नहीं देता है यदि आइटम "बिल्कुल" NaN है , लेकिन मुझे लगा कि मैं इसे फेंक दूंगा क्योंकि यह खाली वस्तुओं की तलाश में भी उपयोगी हो सकता है।
/** isEmpty(varried)
* Simple method for testing if item is "empty"
**/
;(function() {
function isEmpty(a) { return (!a || 0 >= a) || ("object" == typeof a && /\{\}|\[(null(,)*)*\]/.test(JSON.stringify(a))); };
window.hasOwnProperty("empty")||(window.empty=isEmpty);
})();
यह पिछले एक सा गहरा जाता है, यहां तक कि अगर कोई वस्तु खाली वस्तुओं से भरा है, तो भी जाँच की जाती है। मुझे यकीन है कि इसमें सुधार और संभावित गड्ढों के लिए जगह है, लेकिन अभी तक, यह सबसे अधिक चीजों को पकड़ने के लिए प्रकट होता है।
isNaN
यह विश्वसनीय नहीं है। मुझे वहां टिप्पणी दी गई और बताया गया कि यह प्रश्न मेरे उत्तर के लिए बेहतर होगा, इस प्रकार इसे यहाँ स्थानांतरित किया जाएगा। बस इस मुद्दे के संबंध में कुछ उपयोगी / उपयोगी को बाहर रखना, जो हाथ में मुद्दे की Google खोज पर पॉप अप हो जाएगा is it NaN?
। साइड नोट पर, मेरा उत्तर चयनित उत्तर की तुलना में अधिक बार अधिक तीव्र होगा।
मैं बस एक और विकल्प साझा करना चाहता हूं, यह जरूरी नहीं है कि यहां दूसरों की तुलना में बेहतर है, लेकिन मुझे लगता है कि यह देखने लायक है:
function customIsNaN(x) { return (typeof x == 'number' && x != 0 && !x); }
इसके पीछे तर्क यह है कि हर संख्या को छोड़कर 0
और के NaN
लिए डाली जाती हैं true
।
मैंने एक त्वरित परीक्षण किया है, और यह Number.isNaN
झूठे के लिए खुद के खिलाफ जांच के रूप में अच्छा प्रदर्शन करता है । तीनों ही बेहतर प्रदर्शन करते हैंisNan
परिणाम
customIsNaN(NaN); // true
customIsNaN(0/0); // true
customIsNaN(+new Date('?')); // true
customIsNaN(0); // false
customIsNaN(false); // false
customIsNaN(null); // false
customIsNaN(undefined); // false
customIsNaN({}); // false
customIsNaN(''); // false
टूटे हुए isNaN
कार्य से बचना चाहते हैं तो उपयोगी हो सकता है ।
यदि आपका वातावरण ECMAScript 2015 का समर्थन करता है , तो आप Number.isNaN
यह सुनिश्चित करने के लिए उपयोग कर सकते हैं कि मूल्य वास्तव में है NaN
।
समस्या यह है isNaN
कि, यदि आप गैर-संख्यात्मक डेटा का उपयोग करते हैं तो कुछ भ्रामक नियम हैं (एमडीएन के अनुसार)। उदाहरण के लिए,
isNaN(NaN); // true
isNaN(undefined); // true
isNaN({}); // true
तो, ECMA स्क्रिप्ट 2015 समर्थित वातावरण में, आप उपयोग करना चाह सकते हैं
Number.isNaN(parseFloat('geoff'))
isNaN
आप मुसीबत में पड़ सकते हैं और Number.isNaN
ECMAScript 2015 के वातावरण में उपयोग करने के लिए याद रखें :-)
जावास्क्रिप्ट में NaN का अर्थ "नॉट ए नंबर" है, हालांकि इसका प्रकार वास्तव में संख्या है।
typeof(NaN) // "number"
यह जाँचने के लिए कि एक चर मान NaN का है या नहीं, हम केवल फ़ंक्शन isNaN () का उपयोग नहीं कर सकते, क्योंकि isNaN () में निम्न समस्या है, नीचे देखें:
var myVar = "A";
isNaN(myVar) // true, although "A" is not really of value NaN
यहाँ वास्तव में क्या होता है कि myVar को एक संख्या के बराबर किया जाता है:
var myVar = "A";
isNaN(Number(myVar)) // true. Number(myVar) is NaN here in fact
यह वास्तव में समझ में आता है, क्योंकि "ए" वास्तव में एक संख्या नहीं है। लेकिन क्या हम वास्तव में जांचना चाहते हैं कि क्या myVar का मूल्य NaN है।
तो NNN () मदद नहीं कर सकता है। फिर इसके बदले हमें क्या करना चाहिए?
इस प्रकाश में कि NaN केवल JavaScript मान है जो अपने आप में असमान माना जाता है, इसलिए हम इसका उपयोग करके अपने बराबर की जाँच कर सकते हैं! ==
var myVar; // undefined
myVar !== myVar // false
var myVar = "A";
myVar !== myVar // false
var myVar = NaN
myVar !== myVar // true
तो यह निष्कर्ष निकालने के लिए , यदि यह सत्य है कि एक चर! == ही है, तो यह चर बिल्कुल मान NaN है:
function isOfValueNaN(v) {
return v !== v;
}
var myVar = "A";
isNaN(myVar); // true
isOfValueNaN(myVar); // false
मैं अंडरस्कोरisNaN
फ़ंक्शन का उपयोग करता हूं क्योंकि जावास्क्रिप्ट में:
isNaN(undefined)
-> true
कम से कम, उस गोच के बारे में पता होना।
undefined
गलत व्यवहार होने पर NNN सही क्यों होगा ? यह सही है कि undefined
यह संख्या नहीं है, क्या यह नहीं है?
undefined
कुछ से अलग हो सकता है NaN
, हालांकि यह अभी भी एक संख्या नहीं है, इसलिए isNaN(undefined)
(और है)true
शायद यह भी:
function isNaNCustom(value){
return value.toString() === 'NaN' &&
typeof value !== 'string' &&
typeof value === 'number'
}
ऐसा लगता है कि NNN () बॉक्स से बाहर Node.js में समर्थित नहीं है।
मैंने साथ काम किया
var value = 1;
if (parseFloat(stringValue)+"" !== "NaN") value = parseFloat(stringValue);
function isNotANumber(n) {
if (typeof n !== 'number') {
return true;
}
return n !== n;
}
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
इक्विटी ऑपरेटर (== और ===) का उपयोग NaN के विरुद्ध मान का परीक्षण करने के लिए नहीं किया जा सकता है।
सबसे अच्छा तरीका है NNNN () ’का उपयोग करना जो NaN की जाँच करने के लिए buit-in फ़ंक्शन है। सभी ब्राउज़र रास्ते का समर्थन करते हैं ।।
नियम है:
NaN != NaN
IsNaN () फ़ंक्शन की समस्या यह है कि यह कुछ मामलों में अप्रत्याशित परिणाम दे सकता है:
isNaN('Hello') //true
isNaN('2005/12/12') //true
isNaN(undefined) //true
isNaN('NaN') //true
isNaN(NaN) //true
isNaN(0 / 0) //true
यह जांचने का एक बेहतर तरीका है कि क्या मूल्य वास्तव में NaN है:
function is_nan(value) {
return value != value
}
is_nan(parseFloat("geoff"))
IEEE 754 के अनुसार, NaN को शामिल करने वाले सभी रिश्तों को छोड़कर! इस प्रकार, उदाहरण के लिए, (A> = B) = असत्य और (A <= B) = असत्य है यदि A या B या दोनों है / NaN।
मैंने StackOverflow पर एक अन्य प्रश्न का उत्तर लिखा NaN == null
था, जहां एक और जाँच की गई थी, लेकिन तब इसे डुप्लिकेट के रूप में चिह्नित किया गया था, इसलिए मैं अपनी नौकरी बर्बाद नहीं करना चाहता।
को देखो मोज़िला डेवलपर नेटवर्क के बारे में NaN
।
distance || 0
जब आप यह सुनिश्चित करना चाहते हैं कि आप उचित संख्या है या isNaN()
इसे जांचना चाहते हैं तो बस उपयोग करें।
NaN (Not-a-Number) जावास्क्रिप्ट में एक अजीब ग्लोबल ऑब्जेक्ट है जो कुछ गणितीय ऑपरेशन विफल होने पर अक्सर वापस आ जाता है।
आप जाँच करना चाहते थे कि NaN == null
कौन सा परिणाम है false
। होवेवर के NaN == NaN
साथ भी परिणाम false
।
यह पता लगाने का एक सरल तरीका है कि चर NaN
एक वैश्विक फ़ंक्शन है isNaN()
।
एक और है x !== x
जो केवल तभी सत्य है जब x NaN है। (@ राफेल-स्कवीर्ट को याद दिलाने के लिए धन्यवाद)
चलो पता करते हैं।
जब आप कॉल NaN == false
करते हैं तो परिणाम false
उसी के साथ होता है NaN == true
।
कहीं विशिष्टताओं में जावास्क्रिप्ट का रिकॉर्ड हमेशा गलत मूल्यों के साथ होता है, जिसमें शामिल हैं:
NaN
- नंबर नहीं""
- खाली स्ट्रिंगfalse
- एक बूलियन झूठीnull
- अशक्त वस्तुundefined
- अपरिभाषित चर0
- संख्यात्मक 0, +0 और -0 सहितvar xIsNaN = x !== x;
यह तभी सही होता है जब x है NaN
।
एमडीएन के पार्सफ्लोट पेज में एक अन्य समाधान का उल्लेख किया गया है
यह सख्त पार्सिंग करने के लिए एक फिल्टर फंक्शन प्रदान करता है
var filterFloat = function (value) {
if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
.test(value))
return Number(value);
return NaN;
}
console.log(filterFloat('421')); // 421
console.log(filterFloat('-421')); // -421
console.log(filterFloat('+421')); // 421
console.log(filterFloat('Infinity')); // Infinity
console.log(filterFloat('1.61803398875')); // 1.61803398875
console.log(filterFloat('421e+0')); // NaN
console.log(filterFloat('421hop')); // NaN
console.log(filterFloat('hop1.61803398875')); // NaN
और फिर आप isNaN
यह जांचने के लिए उपयोग कर सकते हैं कि क्या यह हैNaN
मैंने यह छोटा सा फंक्शन बनाया है जो एक आकर्षण की तरह काम करता है। NaN के लिए जाँच करने के बजाय जो काउंटर सहज लगता है, आप एक नंबर के लिए जाँच करें। मुझे पूरा यकीन है कि मैं इस तरह से ऐसा करने वाला पहला नहीं हूं, लेकिन मुझे लगा कि मैं साझा करूंगा।
function isNum(val){
var absVal = Math.abs(val);
var retval = false;
if((absVal-absVal) == 0){
retval = true
}
return retval;
}
एक और रास्ता मिला, सिर्फ मनोरंजन के लिए।
function IsActuallyNaN(obj) {
return [obj].includes(NaN);
}
markyzm का जवाब अच्छी तरह से काम करता है, लेकिन यह गलत नहीं है Infinity
क्योंकि इन्फिनिटी techinicly एक नंबर नहीं है।
मैं एक isNumber
फ़ंक्शन के साथ आया था जो यह जांच करेगा कि क्या यह एक नंबर है।
function isNumber(i) {
return !isNaN(i && i !== true ? Number(i) : parseFloat(i)) && [Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY].indexOf(i) === -1;
}
console.log(isNumber(Infinity));
console.log(isNumber("asdf"));
console.log(isNumber(1.4));
console.log(isNumber(NaN));
console.log(isNumber(Number.MAX_VALUE));
console.log(isNumber("1.68"));
अद्यतन: मैंने देखा कि यह कोड कुछ मापदंडों के लिए विफल रहता है, इसलिए मैंने इसे बेहतर बनाया।
function isNumber(i) {//function for checking if parameter is number
if(!arguments.length) {
throw new SyntaxError("not enough arguments.");
} else if(arguments.length > 1) {
throw new SyntaxError("too many arguments.");
} else if([Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY].indexOf(i) !== -1) {
throw new RangeError("number cannot be \xB1infinity.");
} else if(typeof i === "object" && !(i instanceof RegExp) && !(i instanceof Number) && !(i === null)) {
throw new TypeError("parameter cannot be object/array.");
} else if(i instanceof RegExp) {
throw new TypeError("parameter cannot be RegExp.");
} else if(i == null || i === undefined) {
throw new ReferenceError("parameter is null or undefined.");
} else {
return !isNaN(i && i !== true ? Number(i) : parseFloat(i)) && (i === i);
}
}
console.log(isNumber(Infinity));
console.log(isNumber(this));
console.log(isNumber(/./ig));
console.log(isNumber(null));
alert("1234567890.".indexOf(String.fromCharCode(mycharacter))>-1);
यह सुरुचिपूर्ण नहीं है। लेकिन कोशिश करने के बाद NAN () मैं इस समाधान पर पहुंचा जो एक और विकल्प है। इस उदाहरण में मैंने भी अनुमति दी है। ' क्योंकि मैं नाव चला रहा हूं। आप यह भी उल्टा कर सकते हैं कि यह सुनिश्चित करने के लिए कि कोई संख्या उपयोग नहीं की जाती है।
("1234567890".indexOf(String.fromCharCode(mycharacter))==-1)
यह एक एकल वर्ण मूल्यांकन है, लेकिन आप किसी भी संख्या की जांच करने के लिए स्ट्रिंग के माध्यम से लूप कर सकते हैं।
आप NaN जावास्क्रिप्ट फ़ंक्शन का उपयोग करके NaN की जाँच कर सकते हैं। बस isna फ़ंक्शन को संख्या या मान पास करना
isNaN(123) //false
isNaN(-1.23) //false
isNaN(5-2) //false
isNaN(0) //false
isNaN('123') //false
isNaN('Hello') //true
isNaN('2005/12/12') //true
isNaN('') //false
isNaN(true) //false
isNaN(undefined) //true
isNaN('NaN') //true
isNaN(NaN) //true
isNaN(0 / 0) //true
बस परिणाम को स्ट्रिंग में परिवर्तित करें और 'NaN' के साथ तुलना करें।
var val = Number("test");
if(String(val) === 'NaN') {
console.log("true");
}
है (NaN> = 0) ? ...... " मुझे नहीं पता "।
function IsNotNumber( i ){
if( i >= 0 ){ return false; }
if( i <= 0 ){ return false; }
return true;
}
यदि केवल TRUE हो तो स्थितियां निष्पादित होती हैं ।
FALSE पर नहीं ।
" आई डोंट नो " पर नहीं ।