This code :
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);
gives : "33,17,80,00,00.00"
Is it what you want?
This another version (according your demand):
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);
gives "3,31,78,00,000.00" - 3 digits before floating point.
Than, add to your bind data class :
CultureInfo cInf = null;
public string DobleDigitNumber
{
get
{
double value = Number;
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" />