اذهب إلى المحتوى

السؤال

نشر

ما هي الطريقة الموصى بها لملء قيمة رقمية بأصفار صفرية في JavaScript؟ على سبيل المثال إن كان لدي الرقم 43 فأريد أن يتم إضافة صفرين إلى اليسار ليصبح 0043 

هل توجد دالة مخصصة لتركيب الأصفار على قيمة رقمية؟ أم يجب كتابة دالة تقوم بهذا الأمر؟

Recommended Posts

  • 1
نشر

يمكنك انشاء دالة مخصصة تقوم بالأمر عليك، فيما يلي منطق عمل الدالة:

  1. تقوم هاته الدالة باستقبال العدد المراد اضافة بادئة صفرية اليه num وعدد الاصفار المراد اضافتها اليه num_of_zeros.
  2. تقوم الدالة بتكرار السلسلة النصية "0" عدد num_of_zeros مرة. وتخزنها في متغير محلي.
  3. في حالة ما كان العدد موجبا فإن الدالة ستقوم مباشرة باضافة الاصفار الى بدايته. 
  4. في حالة ما كان العدد سالبا فان الدالة ستقوم بحقن الاصفار بعد علامة ال -.

مثال عملي:

/**
* اضافة بادئة اصفار الى عدد
* 
* @param num
* @param num_of_zeros
* @return string
*/
function padZeros(num, num_of_zeros)
{
   var zeros = ('0').repeat(num_of_zeros);
   
   return num >= 0 
   ? zeros + num
   : String(num).substr(0, 1) + zeros + String(num).substr(1) ;
}

مثال عن الاستعمال:

console.log(padZeros(-4, 10)) // "-00000000004"
console.log(padZeros(1, 4)) // "00001"
  • 0
نشر

يجب في البداية تحويل القيمة إلى سلسلة و من ثم يمكننا إضافة الأصفار باستعمال التابع padStart الذي يقوم بأخذ الطول الأعظمي للسلسلة كأول وسيط و من ثم القيمة التي يجب حشوها كثاني وسيط، كمثال على ذلك:

let x = 43;
let s = String(x).padStart(4, '0');
console.log(s); //0043

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...