ظهر خطأ في البرنامج اليوم. قمت بتصحيحها لفترة طويلة واكتشفت أخيرًا أنها كانت هذه المشكلة.
تم إجراء تجربة:
ALERT (PARSEINT ("01")) ، عندما تكون القيمة في هذا 01 ====> 07 ، إنه طبيعي ، ولكن في "08" ، "09" ستعود 0.
(تحدث هذه الظاهرة في متصفحات نواة IKEA ، مثل 360 متصفح ، سيحدث هذا الخطأ) (Google ، لن يتأثر Firefox)
.
تعلمت أسباب هذه الظاهرة بعد قراءة المعلومات:
تفسير الله العظيم:
01-07 بطبيعة الحال لا توجد مشكلة ، ولكن 09 و 08 كلها نماذج ثماني غير مؤهلة ، لذلك تمت معالجتها على أنها 0. لحل هذه المشكلة ، يمكنك استخدام معلمة أخرى من وظيفة Parseint لإخبار Parseint بمعالجتها في العشرية.
Parseint ("08" ، 10) أو Parseint ("09" ، 10)
Parseint (سلسلة ، radix) هو تحويل السلسلة إلى أعداد صحيحة. المعلمة الثانية هي تعيين تنسيق السلسلة. شائعة الاستخدام هي 2 و 8 و 10 و 16 ، مما يشير إلى عدد السلسلة في ما هو الرقم الثنائي.
يمكن أن يكون نطاق Radix مرغوبًا فيه هو 2 ~ 36. إذا لم يكن ضمن هذا النطاق ، فسيتم إرجاع NAN.
إذا تم تعيين قيمة Radix على 0 أو لا ، فسيتم التعرف على تنسيق السلسلة تلقائيًا:
بدءًا من "0x" ، سوف يعامل Parseint () بقية السلسلة باستثناء 0x كرقم سداسي عشري.
بدءًا من "0" ، سوف يعامل Parseint () الشخصيات بخلاف 0 كأرقام أوكتال أو سداسي عشرية.
بدءًا من الأرقام من 1 إلى 9 ، سوف يعاملها Parseint () كرقم عشري.
ما سبق هو المعرفة ذات الصلة حول الأسباب التي تجعل Parseint ("08") و "09" Return 0 في JavaScript المقدمة لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فالرجاء ترك رسالة لي وسوف يرد المحرر لك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!