Avatar ·

كيفية تحويل سلسلة نصية (String) إلى رقم عشري (Double) في Swift؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Swift وواجهت مشكلة عند العمل مع الأرقام. لدي حقل نصي يقوم المستخدم بإدخال سعر المنتج فيه، وأحتاج إلى تحويل هذه السلسلة النصية إلى Double لإجراء عمليات حسابية لاحقة. إليك الكود الخاص بي: ```swift let priceString = "12.50" let priceDouble = Double(priceString) // هنا يحدث خطأ ``` قرأت أنه يمكن استخدام `Double()`، لكني أحصل على `nil` أو خطأ في الترجمة. جربت خيارات مختلفة لكن لا شيء يعمل. أرجو إرشادي إلى كيفية تحويل السلسلة النصية إلى Double بشكل صحيح؟ ماذا أفعل إذا كانت السلسلة تحتوي على أحرف وليس أرقاماً فقط؟ على سبيل المثال، قد يدخل المستخدم "12,50" بدلاً من "12.50" (بفاصلة بدلاً من نقطة). كيف يمكن معالجة مثل هذه الحالات؟ سأكون ممتناً لأمثلة الكود وشرح كيفية تجنب تعطل التطبيق إذا كان التحويل غير ممكن. شكراً مسبقاً! <<>>

الطريقة الأساسية: المُهيئ Double(String)

في Swift، لتحويل سلسلة نصية إلى Double، يمكنك استخدام المُهيئ Double() الذي يقبل سلسلة نصية كمعامل. إذا كانت السلسلة تحتوي على رقم صحيح، فسيعيد قيمة من النوع Double? (اختياري). إذا كانت السلسلة غير صالحة، فسيعيد nil.