আমি এটি কেবল ফায়ারফক্সের জাভাস্ক্রিপ্ট কনসোলে চেষ্টা করে দেখছি, তবে নিম্নলিখিত বিবৃতিগুলির কোনওটিই সত্য হয় না:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
আমি এটি কেবল ফায়ারফক্সের জাভাস্ক্রিপ্ট কনসোলে চেষ্টা করে দেখছি, তবে নিম্নলিখিত বিবৃতিগুলির কোনওটিই সত্য হয় না:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
উত্তর:
এই কোড ব্যবহার করে দেখুন:
isNaN(parseFloat("geoff"))
যে কোনও মান কেবলমাত্র সংখ্যার পরিবর্তে নাএন, কিনা তা যাচাই করার জন্য এখানে দেখুন: জাভাস্ক্রিপ্টে আপনি এনএএন-এর পরীক্ষা কিভাবে করবেন?
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
@ বর্ণা com্য মন্তব্য না করা অবধি এটি উপলব্ধি করা যায়নি তবে এটি ইসিএমএ অনুচ্ছেদে রয়েছে: 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 উভয় জুড়ে ধারাবাহিকতার জন্য, আমরা এই পলিফিলটি সংখ্যা.আইএসএন এর জন্যও ব্যবহার করতে পারি
#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
! কোন ক্ষেত্রে ... প্রতিবার পরিবর্তে পার্সফ্লোট কাজ করে। সুতরাং এটিতে ফিরে যান:
function definitelyNaN (val) {
return isNaN(val && val !== true ? Number(val) : parseFloat(val));
}
এবং এটি আপাতদৃষ্টিতে সমস্ত কিছু কভার করে। আমি লোড্যাশের তুলনায় এটি 90% ধীর গতিতে চিহ্নিত করেছি _.isNaN
তবে তারপরে সমস্ত এনএএন-র আচ্ছাদন করে না:
http://jsperf.com/own-isnan-vs-underscore-lodash-isnan
কেবল স্পষ্ট করে বলতে গেলে, আমার এমন কিছু মানুষের শাব্দিক ব্যাখ্যার যত্ন নেওয়া হয় যা "নং নং অ্যান্ট" এবং লোডাশ কম্পিউটারের আক্ষরিক ব্যাখ্যার যত্ন নেয় যে কোনও কিছু "এনএন" আছে কিনা তা যাচাই করার জন্য।
@ সিবির্গের উত্তর সঠিক থাকলেও এর মধ্যে আরও অনেক বিষয় রয়েছে যা লক্ষ করা উচিত:
parseFloat('1.2geoff'); // => 1.2
isNaN(parseFloat('1.2geoff')); // => false
isNaN(parseFloat('.2geoff')); // => false
isNaN(parseFloat('geoff')); // => true
পয়েন্ট সত্তা, আপনি যদি ইনপুটটির বৈধতার জন্য এই পদ্ধতিটি ব্যবহার করেন তবে ফলাফলটি উদার হয়ে উঠবে।
সুতরাং, হ্যাঁ আপনি ব্যবহার করতে পারেন parseFloat(string)
(বা পুরো সংখ্যার ক্ষেত্রে parseInt(string, radix)
'এবং তারপরে isNaN()
এটি আবদ্ধ করতে পারেন, তবে অতিরিক্ত সংখ্যাসূচক অক্ষরের সাথে মিলিত সংখ্যার সাথে গেটচা সম্পর্কে সচেতন হন।
parseFloat('test1.2')
ফিরে আসবে NaN
।
সত্যিই খুব সহজ! এখানে! এই পদ্ধতি আছে!
function isReallyNaN(a) { return a !== a; };
যতটা সহজ ব্যবহার করুন:
if (!isReallyNaN(value)) { return doingStuff; }
পারফরম্যান্স পরীক্ষা দেখুন hereএই ফানক বনাম ব্যবহার করেselected answer
এছাড়াও: কয়েকটি বিকল্প বিকল্প বাস্তবায়নের জন্য নীচে প্রথম উদাহরণ দেখুন।
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)
খালি থাকলে বিকল্প সমাধান পরীক্ষা
একটি সাধারণ উইন্ডো পদ্ধতি আমি লিখেছিলাম যে পরীক্ষাটি যদি বস্তু খালি হয় । এটি কিছুটা আলাদা যে আইটেমটি "হুবহু" এনএন হলে এটি দেয় না তবে আমি বুঝতে পেরেছিলাম যে খালি আইটেমগুলি সন্ধান করার সময় এটি কার্যকর হতে পারে।
/** 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
নির্ভরযোগ্য নয়। আমাকে সেখানে মন্তব্য করা হয়েছিল এবং বলা হয়েছিল যে এই উত্তরটি আমার উত্তরটির সাথে আরও ভাল মানাবে, এভাবে এটি এখানে নিয়ে যাওয়া হবে। এই সমস্যাটির সাথে সম্পর্কিতভাবে কেবল দরকারী / দরকারী কিছু রেখে যা ইস্যুটির একটি গুগল অনুসন্ধানে হাতছাড়া করবে 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 পরিবেশে :-)
জাভাস্ক্রিপ্টে এনএএন মানে "নট এ সংখ্যা" নয়, যদিও এর ধরণটি আসলে সংখ্যা।
typeof(NaN) // "number"
কোনও চলক NaN এর মান কিনা তা পরীক্ষা করতে, আমরা কেবল ফাংশন isNaN () ব্যবহার করতে পারি না, কারণ isNaN () এর নিম্নলিখিত সমস্যা রয়েছে, নীচে দেখুন:
var myVar = "A";
isNaN(myVar) // true, although "A" is not really of value NaN
এখানে সত্যই যা ঘটে তা হ'ল মাইভার সুস্পষ্টভাবে একটি সংখ্যায় জোর করে:
var myVar = "A";
isNaN(Number(myVar)) // true. Number(myVar) is NaN here in fact
এটি আসলে বোধগম্য হয়, কারণ "এ" আসলে সংখ্যা নয়। তবে আমরা যা যাচাই করতে চাই তা হ'ল মাইভারটি ঠিক এনএএনএন এর মান হয় কিনা।
সুতরাং isNaN () সাহায্য করতে পারে না। তারপরে আমাদের কী করা উচিত?
আলোকে যে NaN হ'ল একমাত্র জাভাস্ক্রিপ্ট মান যা নিজের কাছে অসম হিসাবে বিবেচিত হয়, তাই আমরা এর ব্যবহারের সাথে এর সমতাটি পরীক্ষা করতে পারি! ==
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
ভুল আচরণ হবে? এটি সত্য যে undefined
একটি সংখ্যা নয়, তাই না?
undefined
চেয়ে আলাদা কিছু হতে পারে NaN
, তবে এটি এখনও সংখ্যা নয় তাই isNaN(undefined)
হওয়া উচিত (এবং হয়)true
এটিও হতে পারে:
function isNaNCustom(value){
return value.toString() === 'NaN' &&
typeof value !== 'string' &&
typeof value === 'number'
}
দেখে মনে হচ্ছে যে বক্সের বাইরে নোড.জেসগুলিতে isNaN () সমর্থিত নয়।
আমি প্রায় সঙ্গে কাজ
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 এর বিপরীতে একটি মান পরীক্ষা করতে ব্যবহার করা যাবে না।
মজিলা ডকুমেন্টেশন দেখুন বিশ্বব্যাপী NAN সম্পত্তি হ'ল নট-এ-নম্বকে উপস্থাপন করে
সেরা উপায়টি 'isNaN') ব্যবহার করছে যা NaN চেক করার জন্য বিট-ইন ফাংশন। সমস্ত ব্রাউজার উপায় সমর্থন করে ..
বিধিটি হ'ল:
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"))
আইইইই 754 অনুসারে, NaN এর সাথে জড়িত সমস্ত সম্পর্ক মিথ্যা হিসাবে মূল্যায়ন করে! = বাদে। সুতরাং, উদাহরণস্বরূপ, (এ> = বি) = মিথ্যা এবং (এ <= বি) = মিথ্যা যদি এ বা বি বা উভয়ই ন্যান হয় are
আমি স্ট্যাকওভারফ্লোতে অন্য প্রশ্নের উত্তরটি লিখেছিলাম যেখানে কখন অন্য চেক হয়NaN == null
তখন তখন এটি সদৃশ হিসাবে চিহ্নিত করা হয়েছিল তাই আমি আমার কাজটি নষ্ট করতে চাই না।
এ মজিলা ডেভেলপার নেটওয়ার্ক সম্পর্কে NaN
।
distance || 0
যখন আপনি নিশ্চিত হন যে আপনি একটি যথাযথ সংখ্যা বা এটি নিশ্চিত হন তখন কেবল ব্যবহার করুনisNaN()
এটি পরীক্ষা করে ।
জাভাস্ক্রিপ্টে NaN (নট-এ-সংখ্যা) একটি অদ্ভুত গ্লোবাল অবজেক্ট যা কিছু গাণিতিক ক্রিয়াকলাপ ব্যর্থ হলে ঘন ঘন ফিরে আসে।
আপনি NaN == null
যা দেখতে চান তা পরীক্ষা করতে চেয়েছিলেন false
। Hovewer এমনকি NaN == NaN
ফলাফলfalse
।
পরিবর্তনশীল কিনা NaN
তা খুঁজে বের করার একটি সহজ উপায় হ'ল বৈশ্বিক ফাংশনisNaN()
।
আরেকটি হ'ল x !== x
এক্সটি এনএন হলেই । (@ রাফেল-স্কিওয়েকার্টকে মনে করিয়ে দেওয়ার জন্য ধন্যবাদ)
খুঁজে বের কর.
আপনি যখন NaN == false
ফলাফল কল করবেন তখন false
একই রকমNaN == true
।
নির্দিষ্টকরণের কোথাও জাভাস্ক্রিপ্টের সর্বদা মিথ্যা মানগুলির সাথে একটি রেকর্ড রয়েছে, যার মধ্যে রয়েছে:
NaN
- একটি নম্বর নয়""
- খালি স্ট্রিংfalse
- একটি বুলিয়ান মিথ্যাnull
- নাল বস্তুundefined
- অপরিবর্তিত ভেরিয়েবল0
- 0 এবং -0 সহ সংখ্যাসূচক 0var xIsNaN = 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
চেক করার সঠিক উপায়টি হ'ল:
//takes care of boolen, undefined and empty
isNaN(x) || typeof(x) ==='boolean' || typeof(x) !=='undefined' || x!=='' ? 'is really a nan' : 'is a number'
আমি এই ছোট্ট ফাংশনটি তৈরি করেছি যা একটি কবজির মতো কাজ করে। যেটি এনএএন-কে স্বজ্ঞাত বলে মনে হচ্ছে তা পরীক্ষা করার পরিবর্তে আপনি একটি নম্বর পরীক্ষা করে দেখুন check আমি নিশ্চিত যে আমি এইভাবে এটি করার আগে প্রথম নই, তবে আমি ভেবেছিলাম ভাগ করে নেব।
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);
}
মার্কসাইজমের উত্তরটি ভালভাবে কাজ করে তবে এটি মিথ্যা হিসাবে ফিরে আসে না Infinity
হিসাবে কারণ ইনফিনিটি প্রযুক্তিগতভাবে একটি সংখ্যা নয়।
আমি একটি 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);
এটি মার্জিত নয়। তবে ইসনান () চেষ্টা করার পরে আমি এই সমাধানে পৌঁছেছি যা অন্য বিকল্প। এই উদাহরণে আমি অনুমতিও দিয়েছি '।' কারণ আমি ভেসে যাচ্ছি কোনও সংখ্যা ব্যবহার না করা হয়েছে তা নিশ্চিত করতে আপনি এটি বিপরীতও করতে পারেন।
("1234567890".indexOf(String.fromCharCode(mycharacter))==-1)
এটি একটি একক অক্ষরের মূল্যায়ন তবে আপনি কোনও সংখ্যার জন্য পরীক্ষা করতে কোনও স্ট্রিং দিয়ে লুপও করতে পারেন।
আপনি isNan জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করে NaN চেক করতে পারেন। Isnan ফাংশনে কেবল সংখ্যা বা মানটি পাস করা
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");
}
Is (NAN> = 0) ? ...... " জানিনা "।
function IsNotNumber( i ){
if( i >= 0 ){ return false; }
if( i <= 0 ){ return false; }
return true;
}
শর্ত শুধুমাত্র যদি সত্য হয় তবে কার্যকর করা হয় ।
না উপর মিথ্যা ।
" আমি জানি না " তে নেই ।