private String pFrenchGetNumber(double iNumber, bool bPutOne)
{
String rtn = "";
double iTens = 0;
double iUnit = 0;
double iNumAux = 0;
bool bPutOneAux = false;
if (iNumber == 100)
{
rtn = "Cent ";
}
else
{
if (iNumber > 100)
{
iNumAux = iNumber;
rtn = pFrenchGetNameHundred(iNumAux) + " ";
iTens = pGetHundred(iNumAux);
bPutOne = false;
}
else
{
iTens = iNumber;
}
}
if (iTens != 0)
{
if (iTens >= 1 && iTens <= 16)
{
bPutOneAux = bPutOne;
rtn = rtn + pFrenchGetNameNumber(iTens, bPutOneAux);
}
else
{
if (iTens >= 17 && iTens <= 19)
{
rtn = rtn + "Dix " + pFrenchGetNameNumber(Math.Truncate(iTens - 10), bPutOne);
}
else
{
if (iTens == 20)
{
rtn = rtn + "Vingt";
}
else
{
if (iTens >= 21 && iTens <= 29)
{
if (iTens == 21)
{
rtn = rtn + "Vingt et un";
}
else
{
rtn = rtn + "Vingt " + pFrenchGetNameNumber(Math.Truncate(iTens - 20), bPutOne);
}
}
else
{
iUnit = pGetUnit(iTens);
if (!(iTens >= 70 && iTens < 80) && !(iTens >= 90))
{
rtn = rtn + pFrenchGetNameTens(iTens);
if (iUnit == 1)
{
rtn = rtn + " et ";
}
if (iUnit > 1)
{
rtn = rtn + " ";
}
rtn = rtn + pFrenchGetNameNumber(iUnit, bPutOne);
}
else
{
rtn = rtn + pFrenchGetNameTens(iTens) + pFrenchGetNameNumber(iUnit + 10, true);
}
}
}
}
}
}
return rtn;
}