public String frenchNumberToString(double iNumber)
{
double iMillion = 0;
double iThousand = 0;
String rtn = "";
iNumber = Math.Round(iNumber, 2);
if (iNumber >= 1000000)
{
iMillion = pGetValue(iNumber, 1000000);
if (iNumber >= 2000000)
{
rtn = pFrenchGetNumber(iMillion, true) + " Millions ";
}
else
{
rtn = pFrenchGetNumber(iMillion, true) + " Million ";
}
iNumber = iNumber - (iMillion * 1000000);
}
if (iNumber >= 1000)
{
iThousand = pGetValue(iNumber, 1000);
if (iThousand == 1)
{
rtn = " Mil ";
}
else
{
rtn = rtn + pFrenchGetNumber(iThousand, false) + " Mil ";
}
iNumber = iNumber - (iThousand * 1000);
}
rtn = rtn + pFrenchGetNumber(Math.Truncate(iNumber), false);
rtn = rtn + pFrenchGetDecimal(iNumber);
return rtn.Substring(0, 1).ToUpper() + rtn.Substring(2).ToLower();
}