التحقق من الأعداد الصحيحة
العدد 42 صحيح، و3.0 كذلك لأن قيمته ثلاثة، أما 3.0000001 فليس صحيحًا. أدخل أي قيمة لتحصل على جواب صارم بنعم أو لا، أما نص مثل abc فيُرفض برسالة واضحة بدل أن يمر على أنه لا. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- القيمة
- 42
- القيمة
- 42
ترسل القيمة كنص — مثل "42" أو "-7.5" أو "1e3" — فتتلقى نتيجة صارمة true أو false مع العدد المحلَّل. تتعامل الواجهة مع الفراغات والإشارات والكسور العشرية والترميز العلمي، وترفض التخمين: فكل ما ليس عددًا منتهيًا، مثل "abc" أو "Infinity" أو سلسلة فارغة، يُرفض بخطأ واضح بدلًا من نتيجة false صامتة. استخدمها للتحقق من النماذج وحمولات واجهات برمجة التطبيقات وعمليات استيراد البيانات قبل أن يتسلل عدد كسري إلى حقل لا يقبل إلا الأعداد الصحيحة.
ما الذي يُعَد عددًا صحيحًا
العدد الصحيح هو عدد بلا جزء كسري: إذ إن 42 و-17 و0 أعداد صحيحة، أما 3.5 و-0.01 فليست كذلك. يطبق التحقق من الأعداد الصحيحة هذا التعريف الرياضي نفسه عبر الاختبار القياسي Number.isInteger دون تقريب ودون هامش تسامح. وهذا يعني أن 3.0 — المكتوبة بنقطة عشرية لكنها تساوي عددًا صحيحًا — تُرجع true لأن قيمتها ثلاثة، بينما تُرجع 3.0000001 نتيجة false.
ويُحلَّل الترميز العلمي أولًا، فالقيمة 1e3 عدد صحيح (ألف) و1.5e-1 ليست كذلك (0.15). الفحص يتعلق بالقيمة لا بكيفية كتابتها: فالأصفار الزائدة بعد الفاصلة العشرية وإشارة الزائد في البداية والفراغات المحيطة كلها مقبولة لأنها لا تغيّر ما يمثله العدد فعلًا. وإن كانت تطبيقاتك تتطلب صرامة على مستوى السلسلة النصية — كرفض "3.0" كما كُتبت — فتلك قاعدة تنسيق ينبغي إضافتها فوق هذا الفحص العددي.
لماذا يكون الإدخال غير المنتهي خطأً لا نتيجة false
هناك نوعان من الفشل عند التحقق من عدد. الأول عدد سليم الصياغة ليس صحيحًا ببساطة، وهذه نتيجة false مشروعة. والثاني إدخال ليس عددًا منتهيًا أصلًا: مثل "hello" أو "Infinity" أو "NaN" أو "12px" أو سلسلة فارغة.
ودمج الحالة الثانية في false يُخفي مشكلات جودة البيانات: فخط معالجة يستلم "Infinity" من عملية قسمة معطلة في مرحلة سابقة سيتعامل معها صامتًا بوصفها «ليست عددًا صحيحًا» ويواصل العمل. ولاحظ أيضًا أن المحلل صارم في مطابقة السلسلة كاملة: إذ تُرفض "42abc" ولا تُقتطع أبدًا إلى 42 كما تفعل بعض المحللات المتساهلة.
حالات الاستخدام
التحقق من النماذج ومدخلات واجهات برمجة التطبيقات
ارفض الكميات الكسرية قبل بلوغها عمود قاعدة بيانات من نوع العدد الصحيح، مع خطأ واضح يمكن عرضه للمستخدم.
حماية النقاط الطرفية المخصصة للأعداد الصحيحة
تحقق من أرقام الصفحات والعدادات والمعرّفات عند حدود خدمتك لتفشل المدخلات الكسرية أو غير المنتهية بسرعة بدل إفساد المنطق اللاحق.
الأسئلة الشائعة
هل "3.0" عدد صحيح؟
نعم. الفحص يتعلق بالقيمة العددية لا بصيغة الكتابة: فالقيمة 3.0 تساوي 3 وبالتالي هي عدد صحيح، أما الصيغ مثل "3.5" أو "1.5e-1" فليست كذلك.
هل يُقبل الترميز العلمي؟
نعم. تُفسَّر "1e3" على أنها 1000 وتُرجع true، أما "1.5e-1" فهي 0.15 وتُرجع false.
هل يجري التقريب أو التسامح مع شبه الصحيحة؟
لا. الفحص دقيق تمامًا: فالقيمة 3.0000001 ليست عددًا صحيحًا وتُرجع false، والتقريب قرار مستقل ينبغي أن يتخذه تطبيقك صراحةً.
هل الأعداد السالبة مدعومة؟
نعم، فالعدد -17 صحيح و-0.01 ليست كذلك، وتُقبل أيضًا إشارة الزائد في البداية والفراغات المحيطة.
ماذا يحدث إذا أدخلت abc أو Infinity؟
لا تحصل على جواب بلا، بل على رسالة خطأ واضحة تقول إن القيمة ليست عددًا محدودًا. فاعتبار هذه المدخلات مجرد أعداد غير صحيحة يخفي مشكلات في جودة البيانات، لذلك يُفصل بين الحالتين.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/integer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"42"}'const res = await fetch("https://api.kit.forhosting.com/math/integer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "42"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/integer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "42"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/integer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"42"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"42"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/integer", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"value": "42"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.integer",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تجيب واجهة برمجة التطبيقات للتحقق من الأعداد الصحيحة عن سؤال بسيط مظهرًا: هل هذه القيمة عدد صحيح؟
لماذا يكون الإدخال غير المنتهي خطأً لا نتيجة false
تفصل هذه النقطة الطرفية بين الحالتين عن قصد: فالإدخال العددي الصالح يُرجع دائمًا قيمة منطقية، وكل ما عدا ذلك يُرجع خطأ invalid_input برسالة تشرح الخلل، ليتمكن برنامجك من التوقف وتسجيل القيمة المخالفة والفشل بسرعة بدلًا من نشر بيانات فاسدة.
كيفية الدمج
تحتوي الاستجابة على العدد المحلَّل والنتيجة المنطقية، فينجز الاستدعاء الواحد التحقق والتحويل معًا. أرسل القيمة في الحقل المسمى value نصًا دائمًا؛ وتُقبل الأسماء البديلة number وn وinput تيسيرًا. ومن أنماط الدمج الشائعة: التحقق من إدخال المستخدم قبل الكتابة في عمود قاعدة بيانات من نوع العدد الصحيح، وترشيح الصفوف في استيراد CSV حيث يجب أن يكون المعرّف صحيحًا، وحماية نقطة طرفية في واجهة برمجة تطبيقات تقبل الكميات. أما القيم الكبيرة جدًا فتستحق انتباهًا: فبعد 2^53 لا يستطيع تنسيق الدقة المزدوجة تمثيل كل عدد صحيح تمثيلًا متميزًا، فتصبح 9007199254740993 غير قابلة للتمييز عن جيرانها — وهذه خاصية في تنسيق IEEE-754 تتشاركها كل الأنظمة المتوافقة مع JavaScript وليست من هذا الفحص. يعمل الكود نفسه مجانًا في متصفحك على هذه الصفحة للاختبارات السريعة، وتبلغ تكلفة واجهة برمجة التطبيقات $0.002 لكل طلب عند أتمتتها على نطاق واسع.
حالات التكامل
ترشيح الصفوف أثناء استيراد البيانات
افصل عمودًا من قيم مختلطة إلى أعداد صحيحة وغير صحيحة أثناء استيراد CSV أو JSON، واعزل القيم غير الصالحة.
أسئلة تقنية
كم التكلفة؟
$0.002 لكل طلب عبر واجهة برمجة التطبيقات، ويمكن أيضًا تشغيلها مجانًا في متصفحك على هذه الصفحة.
ماذا يحدث مع "Infinity" أو "abc"؟
تُرفض بخطأ invalid_input لأنها ليست أعدادًا منتهية، ولا تُرجع true أو false إلا المدخلات العددية سليمة الصياغة.