التحويل الدقيق للعوامات إلى سلاسل بدقة عشرية محددة
في لغة C، تحويل رقم الفاصلة العائمة إلى سلسلة بدقة محددة و الأرقام العشرية تتطلب دراسة متأنية. يستكشف هذا الدليل حلين شائعين: stringstream ووظيفة to_chars من C 17.
استخدام Stringstream
Stringstream هي أداة متعددة الاستخدامات لمعالجة السلاسل في لغة C. لتحويل تعويم إلى سلسلة بدقة محددة، يمكن تطبيق معالجات الدفق:
#include
#include
double pi = 3.14159265359;
std::stringstream stream;
stream - std::fixed يضمن تمثيل الرقم بتدوين النقطة الثابتة، مع علامة عشرية وعدد محدد من الأرقام.
[ يتحكم &&&]std::setprecision(2) في عدد المنازل العشرية التي سيتم عرضها.
استخدام وظيفة to_chars (C 17 وما فوق)
لمزيد من الأغراض التقنية، مثل كتابة البيانات إلى XML أو JSON، توفر وظيفة to_chars المقدمة في C 17 حلاً موجزًا:
#include
#include
double pi = 3.14159265359;
std::array buffer;
auto [ptr, ec] = std::to_chars(buffer.data(), buffer.data() buffer.size(), pi,
std::chars_format::fixed, 2);
if (ec == std::errc{}) {
std::string s(buffer.data(), ptr);
}
else {
// Error handling
}
تأخذ الدالة std::to_chars مخزنًا مؤقتًا (في شكل std::array)، ورقمًا، ومواصفات تنسيق (في هذه الحالة، std::chars_format::fixed برقمين عشريين الأماكن).- إذا نجح التحويل، فسيتم إنشاء السلسلة الناتجة من المخزن المؤقت.
باستخدام هذه التقنيات، يمكنك تحويل الأعداد العشرية إلى سلاسل في لغة C مع التحكم الدقيق في عدد الأرقام العشرية، مما يضمن تمثيل بياناتك بدقة ووفقًا لمتطلباتك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3