PDA

View Full Version : درگیری با string.Format



majid_darab
چهارشنبه 23 تیر 1389, 09:48 صبح
با سلام و عرض خسته نباشید :
من تکّه کدی دارم به صورت زیر :

lblFranshizShowInvwNoskhehEdit.Text = string.Format("{n0}",(double)(int.Parse(drDarman["FranshizDarsad"].ToString()) * Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Te xt)) / 100);من می خوام عدد دابل بدست آمده از محاسبه به همان صورت که تولید می شود در لیبل نمایش داده شود با این تفاوت که 3 رقم 3رقم با کاما تفکیک شده باشد.(بدون گرد شدن و بدون افزودن ارقام صفر در اعشار موقعی که اعشاری وجود ندارد)

دلیل استفاده از فرمت n0 این است که جداکننده ی هزارگان (thousand separator) در لیبل ظاهر می گردد - امّا این n0 مشکلاتی به همراه دارد:
مشکل به این قرار است که هیچ اعشاری در لیبل دیده نمی شود و وقتی n0 را به n تبدیل می کنم به صورت پیش فرض 2 رقم اعشار نمایش داده می شود و مواقعی هم که اعشار نداریم دو تا صفر در اعشار قرار می گیرد.
از چه فرمتی استفاده کنم که هم جداکننده ی هزارگان را ساپورت کند و هم در قسمت اعشار دست نبرد و هر موقع اعشار داشتیم نشان داده شود و هر موقع نداشتیم نشان داده نشود؟

با تشکّر
مجید داراب

majid_darab
پنج شنبه 24 تیر 1389, 07:38 صبح
با سلام و عرض خسته نباشید :
من تکّه کدی دارم به صورت زیر :

lblFranshizShowInvwNoskhehEdit.Text = string.Format("{n0}",(double)(int.Parse(drDarman["FranshizDarsad"].ToString()) * Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Te xt)) / 100);من می خوام عدد دابل بدست آمده از محاسبه به همان صورت که تولید می شود در لیبل نمایش داده شود با این تفاوت که 3 رقم 3رقم با کاما تفکیک شده باشد.(بدون گرد شدن و بدون افزودن ارقام صفر در اعشار موقعی که اعشاری وجود ندارد)

دلیل استفاده از فرمت n0 این است که جداکننده ی هزارگان (thousand separator) در لیبل ظاهر می گردد - امّا این n0 مشکلاتی به همراه دارد:
مشکل به این قرار است که هیچ اعشاری در لیبل دیده نمی شود و وقتی n0 را به n تبدیل می کنم به صورت پیش فرض 2 رقم اعشار نمایش داده می شود و مواقعی هم که اعشار نداریم دو تا صفر در اعشار قرار می گیرد.
از چه فرمتی استفاده کنم که هم جداکننده ی هزارگان را ساپورت کند و هم در قسمت اعشار دست نبرد و هر موقع اعشار داشتیم نشان داده شود و هر موقع نداشتیم نشان داده نشود؟

با تشکّر
مجید داراب


جواب سوال بالا پس از گشت و گذار در msdn :

string.Format("{0:#,0.###}", AlibabaVariable)