示例#1
0
        private static string SystavnoToStr(int stotinki, string systavnoSingle, string systavnoMany, ROD rodSystavno)
        {
            if (stotinki == 0)
            {
                return("");
            }

            //Слагаме го стотинките да са само с цифри
            return(" и " + stotinki.ToString("00") + " " + (stotinki == 1 ? systavnoSingle : systavnoMany));

            int    iDec  = 0;
            string sTemp = String.Empty;
            string result;

            if (stotinki > 10)
            {
                iDec = stotinki / 10;
            }
            int iSubDec = stotinki % 10;

            if (stotinki >= 10 && stotinki <= 19)
            {
                sTemp   = w21[stotinki - 10];
                iDec    = 0;
                iSubDec = 0;
            }

            if (iDec > 0)
            {
                sTemp = w2[iDec];
            }

            if (iSubDec > 0)
            {
                if (iDec > 0)
                {
                    sTemp = sTemp + "и " + w_Stot[iSubDec];
                }
                else
                {
                    sTemp = w_Stot[iSubDec];
                }
            }

            //sTemp  = AnsiUpperCase(Copy(sTemp,1,1))+Copy(sTemp,2,Length(sTemp)-1);
            if (sTemp == "еднa ")
            {
                sTemp  = (rodSystavno == ROD.MYGKI) ? "един " : ((rodSystavno == ROD.GENSKI) ? "една " : "едно ");
                result = " и " + sTemp + systavnoSingle;
            }
            else
            {
                result = " и " + sTemp + systavnoMany;
            }

            return(result);
        }
示例#2
0
        public static string NumberToString(decimal money, string cqloSingle,
                                            string cqloMany, string systavnoSingle, string systavnoMany, ROD rodCqlo, ROD rodSystavno)
        {
            string l1, l2, l3, l4;
            string result;
            string stotinki = String.Format("{0}", Math.Round((Math.Abs(money) - Math.Abs((int)money)) * 100));
            string s        = Math.Abs((int)money).ToString();

            if (s.Length > 12)
            {
                return("-- над обхвата --");
            }
            while (s.Length < 12)
            {
                s = "0" + s;
            }
            if (rodCqlo == ROD.SREDEN)
            {
                w1[1] = "едно ";
            }
            else if (rodCqlo == ROD.MYGKI)
            {
                w1[1] = "един ";
            }
            else if (rodCqlo == ROD.GENSKI)
            {
                w1[1] = "една";
            }
            long n4 = int.Parse(s.Substring(0, 3));

            switch (n4)
            {
            case 0:
                l4 = "";
                break;

            case 1:
                l4 = "един милиард ";
                break;

            default:
                l4 = totalstr_t3(n4, 0) + "милиарда ";
                break;
            }

            long n3 = int.Parse(s.Substring(3, 3));

            switch (n3)
            {
            case 0:
                l3 = "";
                break;

            case 1:
                l3 = "един милион ";
                break;

            default:
                l3 = totalstr_t3(n3, 0) + "милиона ";
                break;
            }

            long n2 = int.Parse(s.Substring(6, 3));

            switch (n2)
            {
            case 0:
                l2 = "";
                break;

            case 1:
                l2 = "хиляда ";
                break;

            default:
                l2 = totalstr_t3(n2, 1) + "хиляди ";
                break;
            }

            long n1 = int.Parse(s.Substring(9, 3));

            switch (n1)
            {
            case 0:
                l1 = "";
                break;

            case 1:
            {
                l1 = (rodCqlo == ROD.MYGKI) ? "един " : ((rodCqlo == ROD.GENSKI) ? "една " : "едно ");
            }
            break;

            default:
                l1 = totalstr_t3(n1, 0) + "";
                break;
            }

            if ((l4 == "") && (l3 == "") && (l2 == "") && (l1 == ""))
            {
                result = "нула ";
            }
            else
            {
                if ((l1 != "") && (l1.IndexOf(sa) == -1))
                {
                    if ((l2 != "") || (l3 != "") || (l4 != ""))
                    {
                        l1 = a + l1;
                    }
                }
                else if ((l2 != "") && (l2.IndexOf(sa) == -1))
                {
                    if ((l3 != "") || (l4 != ""))
                    {
                        l2 = a + l2;
                    }
                }
                else if ((l3 != "") && (l3.IndexOf(sa) == -1))
                {
                    if (l4 != "")
                    {
                        l3 = a + l3;
                    }
                }
                result = l4 + l3 + l2 + l1;
                // rezult[1] = chr(ord(Result[1])-32);
            }

            if ((l4 == "") && (l3 == "") && (l2 == "") && (l1 == "един " || l1 == "една " || l1 == "едно "))
            {
                result = result + cqloSingle + SystavnoToStr(int.Parse(stotinki), systavnoSingle, systavnoMany, rodSystavno);
            }
            else
            {
                result = result + cqloMany + SystavnoToStr(int.Parse(stotinki), systavnoSingle, systavnoMany, rodSystavno);
            }
            return(result);
        }
示例#3
0
 internal static void Collect()
 {
     _Interceptors = new ROD(
         Reflector.CollectImplementedObject <IToInterceptor>()
         );
 }