باستخدام تنسيق سلسلة .NET ، كيف يمكنني تنسيق سلسلة لعرض فارغة (سلسلة فارغة) ل Zero (0)؟
-
21-09-2019 - |
سؤال
أنا أستخدم databinder.eval التعبير في بيانات ASP.NET ، لكنني أعتقد أن هذا السؤال ينطبق على تنسيق السلسلة في .NET بشكل عام. طلب العميل أنه إذا كانت قيمة السلسلة 0 ، فلا ينبغي عرضها. لدي الاختراق التالي لإنجاز هذا:
<%# IIf(DataBinder.Eval(Container.DataItem, "MSDWhole").Trim = "0", "",
DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0}")) %>
أود تغيير {0:N0}
تنسيق التعبير حتى أتمكن من القضاء على عبارة IIF ، لكن لا يمكنني العثور على أي شيء يعمل.
نصائح أخرى
بالنظر إلى الإجابة المقبولة:
<%# DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0;; }").Trim() %>
يتم وضع مساحة A في الموضع الثالث ، ولكن وضع أ #
في الموقف الثالث سوف يلغي الحاجة إلى الاتصال Trim()
.
<%# DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0;;#}") %>
استخدم طريقة مخصصة.
public static string MyFormat(double value) {
return value == 0 ? "" : value.ToString("0");
}
<%# MyFormat(Convert.ToDouble(Eval("MSDWhole"))) %>
حاول استدعاء وظيفة أثناء الربط مثل هذا
<%# MyFunction( DataBinder.Eval(Container.DataItem, "MSDWhole") ) %>
وداخل الوظيفة ، اجعل التنسيق الذي تريده
لا تنتمي إلى StackOverflow