Avatar ·

تنسيق دقيق للأعداد العائمة في Swift: محددات تنسيق السلسلة النصية

مرحباً بالجميع! لقد بدأت للتو في تعلم Swift وواجهت مشكلة عند تنسيق الأعداد العائمة. أحتاج إلى عرض قيمة من نوع Double بعدد محدد من الأرقام العشرية، مثلاً رقمين. في لغات أخرى مثل C أو Java، كنت أستخدم محددات التنسيق مثل %.2f، لكن في Swift يبدو أن هذا لا يعمل مباشرة.

إليك ما جربته:

let pi = 3.1415926535
let formatted = String(format: "%.2f", pi)
print(formatted) // "3.14" — يعمل!

لكن عندما حاولت استخدام String(format:) مع محددات أخرى، مثل %e للتدوين العلمي أو %g للاختيار التلقائي للتنسيق، حصلت على نتائج غريبة. أحتاج أيضاً إلى محاذاة الأعداد حسب عرض الحقل، بإضافة مسافات أو أصفار على اليسار. مثلاً، لجعل العدد 42.1 يصبح "042.10".

لقد قرأت عن NumberFormatter، لكنه يبدو معقداً جداً للاستخدامات البسيطة.