AZHAR SAYYAD Ответов: 1

Отображение числового формата в gridview с помощью ASP.NET


Здравствуйте, я хотел отобразить число с запятой в виде сетки, но проблема в том, что запятая идет после 3 цифр, я хочу отобразить ее с помощью 2 цифр.

Что я уже пробовал:

Предположим, что мой номер 3317800000 и
я могу отобразить результат в формате 3,317,800,000.00, но я хочу отобразить результат как 33,17,00,000.00

<asp:BoundField DataField="Number"DataFormatString="{0:N2}" />

1 Ответов

Рейтинг:
2

________________

Настоящий кодекс :

double value = 3317800000;
			CultureInfo cInf = (CultureInfo)CultureInfo.InvariantCulture.Clone();
			cInf.NumberFormat.NumberGroupSizes = new int [] {2};
			string V3 = String.Format(cInf.NumberFormat,"{0:00,00.00}", value); 


дает : "33,17,80,00,00.00"

Это то, чего ты хочешь?



Это еще одна версия (по вашему требованию):
double value = 3317800000;
			CultureInfo cInf = (CultureInfo)CultureInfo.InvariantCulture.Clone();
			cInf.NumberFormat.NumberGroupSizes = new int [] {3,2,2,2};
			string V3 = String.Format(cInf.NumberFormat,"{0:0,0.00}", value); 


дает "3,31,78,00,000.00" - 3 цифры перед плавающей точкой.





Чем добавить к вашему классу привязки данных :

CultureInfo cInf = null;
		public string DobleDigitNumber 
		{ 
			get
			{				
				double value = Number;//3317800000;
				if (cInf == null)
				{
					cInf = (CultureInfo)CultureInfo.InvariantCulture.Clone();
					cInf.NumberFormat.NumberGroupSizes = new int[] { 3, 2, 2, 2 };
				}
				return String.Format(cInf.NumberFormat,"{0:0,0.00}", value); 
				
			}		
		}

And change the page code:

		<asp:BoundField DataField="DobleDigitNumber" />


AZHAR SAYYAD

как мы можем напрямую связать в gridview без функции DobleDigitNumber

________________

Вероятно, вам следует дать измененный CultureInfo всему приложению, поэтому стандартное форматирование в вашем приложении будет использовать измененные разделения (как вы определяете).
Если вам нужна двузначная запятая только в одном месте - лучше всего сделать ее видимой и понятной.