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

السؤال

Recommended Posts

  • 0
نشر

يمكنك إستخدام الدالة toLocaleString لتحويل الرقم إلى سلسلة نصية مقروءة هكذا :

let number = 1000000000;
let formattedNumber = number.toLocaleString();
console.log(formattedNumber); // 1,000,000,000

وإذا أردت كتابة الأرقام والفاصلة باللغة العربية يمكنك تمرير اللغة التي تريدها هكذا :

let number = 1000000000;
let formattedNumber = number.toLocaleString('ar-EG'); // تنسيق باللغة العربية
console.log(formattedNumber); // ١٬٠٠٠٬٠٠٠٬٠٠٠

 

  • 0
نشر

يمكنك استخدام التابع toLocaleString لتحويل الرقم إلى سلسلة نصية منسقة وفقًا للإعدادات المحلية.
مثال: 

let num = 999999999;

num.toLocaleString('us', {minimumFractionDigits: 2, maximumFractionDigits: 2})

الناتج: 

999,999,999.00

حيث:

  • us: يشير إلى استخدام التنسيق الأمريكي للغة الإنجليزية (مثل استخدام الفاصلة كفاصل للألاف والنقطة كفاصل عشري).
  • {minimumFractionDigits: 2, maximumFractionDigits: 2}: هذا الكائن يحدد إعدادات التنسيق:
  • minimumFractionDigits: 2: يضمن عرض رقمين عشريين على الأقل.
  • maximumFractionDigits: 2: يحدد الحد الأقصى لعدد الأرقام العشرية التي يمكن عرضها.

نتيجة: ستُحوَّل القيمة 999999999 إلى سلسلة نصية منسقة كالتالي: "999,999,999.00". إذ سيتم إضافة الفاصلة كفاصل بين الألوف. ورقمين عشريين مع الفاصلة العشرية.

  • 0
نشر

يمكنك استخدام الدالة  toLocaleString() ولكن إذا كنت تحتاج إلى تحكم أكبر في التنسيق أو التعامل مع حالات خاصة، فيمكنك استخدم التعبيرات النمطية كالتالي

function formatNumberWithCommas(number) {
  return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

let number = 1000000000;
let formattedNumber = formatNumberWithCommas(number);

console.log(formattedNumber); // Output: 1,000,000,000

 

  • 0
نشر

أسهل طريقة هي من خلال ميثود toLocaleString كما تم التوضيح، بينما لو أردت تحكم أكثر عليك استخدام تعبير نمطي Regular Expression وهي أكثر تعقيدًا ولكنها تمنحك تحكمًا أكبر في التنسيق لا تدعمه toLocaleString().

وبالطبع هناك طريقة يدوية وهو ما يحدث في الخلفية عند استخدام toLocaleString  وهي مفيدة عند الحاجة إلى تخصيص كبير  جدًا أو لتتعلم أساسيات البرمجة.

حيث يتم الأمر كالتالي: 

function formatNumberWithCommasManual(number) {
  const numberString = String(number);
  let formattedString = "";
  let count = 0;

  for (let i = numberString.length - 1; i >= 0; i--) {
    formattedString = numberString[i] + formattedString;
    count++;
    if (count === 3 && i !== 0) {
      formattedString = "," + formattedString;
      count = 0;
    }
  }
  return formattedString;
}

const number = 1000000000;
const formattedNumber = formatNumberWithCommasManual(number);
console.log(formattedNumber); 

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...