"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تنسيق الأرقام بفواصل في C++ باستخدام std::locale؟

كيفية تنسيق الأرقام بفواصل في C++ باستخدام std::locale؟

تم النشر بتاريخ 2024-11-07
تصفح:551

How to Format Numbers with Commas in C   Using std::locale?

تنسيق الأرقام باستخدام الفواصل في لغة C

في لغة C، توفر فئة std::locale طريقة تعتمد على الإعدادات المحلية لتنسيق الأرقام باستخدام الفواصل .

std::locale with std::stringstream

لتنسيق رقم كسلسلة بفواصل، يمكنك استخدام std::locale مع std::stringstream كما يلي:

#include 
#include 

template
std::string FormatWithCommas(const T& value) {
  std::stringstream ss;
  ss.imbue(std::locale(""));  // Use the system's locale
  ss 

مثال للاستخدام:

std::string result1 = FormatWithCommas(7800);
std::string result2 = FormatWithCommas(5100100);
std::string result3 = FormatWithCommas(201234567890);

// result1 = "7,800"
// result2 = "5,100,100"
// result3 = "201,234,567,890"

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

قالب std::string FormatWithCommas(const T& value) { std::stringstream ss; ss.imbue(std::locale("")); ss template std::string FormatWithCommas(const T& value) { std::stringstream ss; ss.imbue(std::locale("")); ss إخلاء المسؤولية:

لاحظ أن قابلية نقل الحلول المذكورة أعلاه قد تكون مشكلة، حيث أن اللغة المستخدمة عند تمرير "" قد تختلف اعتمادًا على النظام.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3