يتم استخدام تنسيق IEEE754 لتمثيل قيم عدد صحيح وقيمة عائمة.
قيمة النقطة العائمة: يجب أن تحتوي هذه القيمة على نقطة عشرية ، ويجب أن يكون هناك رقم واحد على الأقل بعد النقطة العشرية. تتطلب قيم النقطة العائمة ضعف مساحة الذاكرة بقدر قيمة عدد صحيح. أعلى دقة هي 17 عامًا ، لكن دقتها أقل بكثير من تلك الموجودة في الأعداد الصحيحة عند إجراء العمليات الحسابية.
أنواع عددية مختلفة: عشرية ، أوكتال (غير صالح في الوضع الصارم) ، سداسي عشري
يجب أن يكون الجزء الأول من الحرفي الثماني 0 ، يليه تسلسل رقم ثماني (0 ~ 7). إذا كانت القيمة الرقمية في القيمة الحرفية خارج النطاق ، فسيتم تجاهل 0 0 وسيتم تحليل القيمة الرقمية اللاحقة كرقم عشري
070 // 56079 // 79
يجب أن يكون الرقمين الأولين من الحرفي السداسي الستة 0x متبوعًا بأرقام سداسية سداسية (0 ~ 9 و A ~ F). يمكن أن تكون الأحرف A ~ F بحجمها أو أحرف صغيرة
0xa // 10
عند إجراء حسابات حسابية ، سيتم في النهاية تحويل جميع القيم المعبر عنها في الثمن والسداسي إلى قيم عشرية
نطاق القيمة:
إذا تم الحصول على قيمة خارج نطاق قيمة JavaScript في نتيجة حساب ، فسيتم تحويل هذه القيمة إلى قيمة خاصة اللانهاية ، والتي لا يمكن المشاركة في الحساب التالي لأن اللانهاية هي قيمة لا يمكن المشاركة في الحساب. إذا كان هذا الرقم إيجابيًا ، فسيتم تحويله إلى اللانهاية (Infinite إيجابية) ، وإذا كان هذا الرقم سلبيًا ، فسيتم تحويله إلى -infinity (اللانهائي السلبي).
-10/0 //-Infinity10/0 // Infinity
يحدد Isinfinite () ما إذا كان الرقم محدودًا.
VAR النتيجة = number.max_value + number.max_valueconsole.log (iSfinity (نتيجة)) ؛ // false
نان
console.log (nan === nan) // false0/0 // nan
Isnan: تلقي معلمة ، وسوف تحاول تحويل هذه القيمة إلى قيمة رقمية ، وإرجاع قيمة منطقية
console.log (isnan ('10 ')) ؛ // falseconsole.log (isnan (' bb ')) ؛ // trueالتحويل العددي
هناك 3 وظائف يمكنها تحويل القيم غير الرقمية إلى قيم رقمية
الرقم (): يستخدم لأي نوع رقمي.
1. نول
الرقم (NULL) // 0undefinedNumber (غير محدد) // nan
2. قيمة منطقية
الرقم (صحيح) // 1number (خطأ) // 0
3. سلسلة
الرقم ('bb') // nan ، رقم الحرف غير الرقمي ('123') // 123 ، رقم الحرف الرقمي ('') // 0 ، سلسلة فارغة4. كائن
إذا كان كائنًا ، اتصل بأسلوب ValueOF () للكائن ، ثم قم بتحويل القيمة التي تم إرجاعها وفقًا للقواعد المذكورة أعلاه. إذا كانت نتيجة التحويل نان ، فسيتم استدعاء طريقة tostring () للكائن ، ويتم تحويل قيمة السلسلة التي تم إرجاعها مرة أخرى وفقًا للقواعد السابقة.
5.Parseint ()/parsefloat (): تستخدم لتحويل سلسلة إلى قيمة رقمية.
Parseint (): ابدأ التحليل من السلسلة الأولى حتى يتم تحليلها إلى أحرف غير رقمية. يمكن قبول اثنين من المعلمتين. تمثل المعلمة الثانية ثنائيًا مختلفًا ويتم تحويله إلى رقم عشري افتراضيًا.
Parseint ('') // nan ، parseint string فارغة (22.4) // 22parseint ('12bu') // 12parseint ('10' ، 2) // 2parseint ('10' ، 8) // 8parsefloat (): ابدأ التحليل من السلسلة الأولى ، تكون النقطة العشرية الأولى صالحة. parsefloat ('') // nanparsefloat ('090') // 90Parsefloat ('2.3.4') // 2.3لخص
كلمة:
دائرة الخاطئ
var x = .3 - .2 var y = .2 - .1 x == yx == .1 // => false .3 -.2 لا يساوي ./ y == .1 // => true .2 - .1 .1 .1 .1