CSKernelNumberToString.cNumberToString.frenchNumberToString C# (CSharp) Метод

frenchNumberToString() публичный Метод

public frenchNumberToString ( double iNumber ) : String
iNumber double
Результат String
        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();
        }

Usage Example

        private void evalNumberToString(cReportFormulaInt fint)
        {
            if (fint.getVariables().item(C_NUMBERTOSTRING) == null)
            {
                fint.getVariables().add(null, C_NUMBERTOSTRING);
            }

            cReportVariable w_item = fint.getVariables().item(C_NUMBERTOSTRING);
            // the NumberToString funciton is for numbres
            //
            double iNumber = 0;
            int iLenguage = 0;

            iNumber = pGetNumber(m_report.getValue(fint.getParameters().item(0).getValue(), true));
            iLenguage = cUtil.valAsInt(fint.getParameters().item(1).getValue());

            cNumberToString ntos = new cNumberToString();

            switch (iLenguage)
            {
                case C_SPANISH:
                    w_item.setValue(ntos.spanishNumberToString(iNumber));
                    break;
                case C_ENGLISH:
                    w_item.setValue(ntos.englishNumberToString(iNumber));
                    break;
                case C_FRENCH:
                    w_item.setValue(ntos.frenchNumberToString(iNumber));
                    break;
            }
        }