জাভাস্ক্রিপ্টে নিম্নলিখিতগুলি সম্পাদন করার চেষ্টা করুন:
parseInt('01'); //equals 1
parseInt('02'); //equals 2
parseInt('03'); //equals 3
parseInt('04'); //equals 4
parseInt('05'); //equals 5
parseInt('06'); //equals 6
parseInt('07'); //equals 7
parseInt('08'); //equals 0 !!
parseInt('09'); //equals 0 !!
আমি ঠিক শক্তভাবে শিখেছি যে জাভাস্ক্রিপ্টটি মনে করে যে শীর্ষস্থানীয় শূন্যটি একটি অক্টাল পূর্ণসংখ্যার ইঙ্গিত করে এবং যেহেতু বেস -8 থাকে "8"
বা থাকে "9"
না তাই ফাংশনটি শূন্য ফিরে আসে। এটি পছন্দ করুন বা না করুন, এটি ডিজাইনের মাধ্যমে ।
কাজের ক্ষেত্রগুলি কি?
দ্রষ্টব্য: সম্পূর্ণতার জন্য, আমি একটি সমাধান পোস্ট করতে চলেছি, তবে এটি এমন একটি সমাধান যা আমি ঘৃণা করি, তাই দয়া করে অন্যান্য / আরও ভাল উত্তর পোস্ট করুন।
হালনাগাদ:
জাভাস্ক্রিপ্ট স্ট্যান্ডার্ড ( ECMA-262 ) এর 5 তম সংস্করণ একটি ব্রেকিং পরিবর্তন প্রবর্তন করে যা এই আচরণটি সরিয়ে দেয়। মজিলার একটি ভাল লেখার ব্যবস্থা রয়েছে ।
10
(দশমিক) এ ডিফল্ট হয় যদি না পার্স করার সংখ্যাটি পূর্বনির্ধারিত হয় 0x
, উদাহরণস্বরূপ 0xFF
, এই ক্ষেত্রে বেস প্যারামিটারটি 16 এ ডিফল্ট হয় Hope আশা করি, একদিন, এই সমস্যাটি একটি দূরবর্তী স্মৃতি হবে।
+'08' === 8
? সত্য! হতে পারে আপনার সত্যিকারের কোডটির parseInt
জন্য সত্যই দরকার তবে উপরেরটির জন্য নয়।
Number('08')
0
বা হয় undefined
এবং স্ট্রিংয়ের সংখ্যাটি একটি 0
অঙ্ক দ্বারা শুরু হয় যা একটি x
বা X
তার পরে অনুসরণ করা হয় না , তারপরে বাস্তবায়নটি তার বিবেচনার ভিত্তিতে সংখ্যাকে অষ্টাল বা দশমিক হিসাবে ব্যাখ্যা করতে পারে Imp বাস্তবায়নের ক্ষেত্রে এই ক্ষেত্রে দশমিক হিসাবে সংখ্যার ব্যাখ্যা করতে উত্সাহ দেওয়া হয়। " ( আমার জোর)