سؤال

هل هناك C# يعادل بالنسبة VB.NET FormatNumber وظيفة ؟

I. e.:

JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);
هل كانت مفيدة؟

المحلول

سواء في C# ، VB.NET يمكنك استخدام إما .ToString() وظيفة أو السلسلة.شكل() طريقة تنسيق النص.

باستخدام .ToString() المثال الخاص بك يمكن أن تكون مكتوبة على النحو التالي:

JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")

بدلا من ذلك باستخدام السلسلة.شكل() فإنه يمكن كتابة:

JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))

في كل من الحالات المذكورة أعلاه استخدمت مخصص تنسيق العملة مع # يمثلون اختياري مكان حامل 0 يمثل 0 أو القيمة إن وجد.

غيرها من أحرف التنسيق يمكن أن تستخدم للمساعدة في تنسيق مثل D2 2 عشرية أو مئوية إلى عرض العملة.في هذه الحالة كنت لا ترغب في استخدام C المنسق لأن هذا من شأنه أن إدخال رمز العملة وزيادة الفواصل التي لم تكن مطلوبة.

انظر "السلسلة.Format("{0}", "تنسيق سلسلة"};"أو "سلسلة تنسيق الباحث"لمزيد من المعلومات و الأمثلة على كيفية استخدام سلسلة.شكل مختلف خيارات التنسيق.

نصائح أخرى

نعم .ToString(سلسلة) الأساليب.فعلى سبيل المثال ،

int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032

علما أنه في C# لا تستخدم عددا من تحديد شكل, ولكن يمكنك استخدام حرف أو سلسلة من الأحرف.تنسيق الأرقام والتواريخ في C# يستغرق بعض دقائق للتعلم ، ولكن بمجرد فهم المبدأ ، يمكنك بسرعة الحصول على أي شيء تريده من النظر في الإشارة.

هنا بضعة MSDN المواد للحصول على أنك بدأته :

معيار رقمي شكل سلاسل التنسيق أنواع

يمكنك استخدام سلسلة formatters لتحقيق نفس الشيء.

double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");

بينما أود أن أوصي باستخدام ToString في هذه الحالة نضع في اعتبارنا دائما يمكنك استخدام أي VB.Net وظيفة أو فئة من C# فقط عن طريق الرجوع Microsoft.VisalBasic.dll.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top