[ad_1]
أهلاً بكم،
سؤال سخيف ولكنني بحاجة إلى تحويل سلسلة قرأتها من ملف إلى رقم النقطة العائمة، أي “0.45” إلى 0.45. إحدى الطرق التي استخدمتها في الماضي هي القيام بـ
string strValue = "0.45"; fltValue = strValue.ToDouble();
أعطى هذا رقم الفاصلة العائمة الذي يبدو أنني أتذكره ولكنه كان كبيرًا.
هل هناك وسيلة بسيطة وسريعة للحصول على رقم مكون من رقمين؟
لقد رأيت ConvertTo.Decimal() وConvertTo.Double()، فقط أحاول القيام بذلك بشكل صحيح!
ما حاولت:
عم جوجل، MSDN Docs، إضافة ToDouble() وConvertTo وحاول إلقاء القيمة باستخدام طرق C
Max_Value = (float)StrMax_Value;
الحل 1
يقتبس:أعطى هذا رقم الفاصلة العائمة الذي يبدو أنني أتذكره ولكنه كان كبيرًا.
ماذا تنوي بـ “كبير”؟
أنت تعرف، double
حجم البيانات هو 8
بايت (بشكل مستقل عن طريقة التحويل التي تستخدمها).
ما المشكلة في طريقة التحليل المزدوج (النظام) | مايكروسوفت تعلم[^] و أسلوب Double.TryParse (النظام) | مايكروسوفت تعلم[^]؟
الحل 2
أعتقد أن الطريقة الصحيحة ستكون كذلك
string numberString = "0.45"; if (string.IsNullOrEmpty(strValue)) { // Handle the case of null or empty string (e.g., return default value, throw exception) Console.WriteLine("String is null or empty."); return; // Or throw an exception } // Proceed with conversion only if the string is not null or empty float floatValue; if (!float.TryParse(strValue, out floatValue)) { // Handle the case of invalid format or raise Exception Console.WriteLine("Invalid number format."); } //Conversion successful, use floatValue
من الناحية المثالية، يجب أن يكون لديك فئة مساعدة مع وظائف مساعدة مثل ConvertToFloat والتي تقوم فيها بتضمين المنطق أعلاه للحصول على مخرجات متسقة.
[ad_2]
コメント