Results 1 to 11 of 11

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User spritable's Avatar
    Join Date: Oct:2001
    Location: Ðóñå
    Posts: 445

    JAVA> êîíâåðòèðàíå íà ÷èñëà äî òåêñò

    Çíà÷è %ñúáæåêò ñè ãî êàçâà, íî äà äîóòî÷íÿ. Òðÿáâà ìè ÿâà àïëåò êîéòî äà ïðåîáðàçóâà äàäåíî ÷èñëî â äóìè. Äà êàæåì 1184 äà ãî ïðåîáðàçóâà äî "õèëÿäà ñòî îñåìäåñåò è ÷åòåðè". Èç èíåò íàìåðèõ ìíîãî àïëåòè íî çà äðóãè ñòàíäàðòè, çà àíãëèéêè, ôðåíñêè è ò.í. Òðÿáâà ìè çà Áúëãàðñêè, çàùîòî íÿìà äðóã åêâèâàëåíò êàòî íàøèÿ, ïàê ñìå óíèêàëíè...

    Àêî íå íàìåðÿ ñîðñ êîä ñêîðî ùå ñåäíà è ùå ãî íàïèøà ñàì... ñëåä òîâà ùå ãî ïóñíà â èíåò... Íî ïðîáëåìà å ÷å ãîíÿ êðàéíè ñðîêîâå è êëèåíòà íÿìà äà áúäå äîâîëåí àêî ñå çàáàâÿ îùå äåí/äâà....
    i7 9700K | Noctua NH-D14 | Asus ROG Strix Z390-F | Vengeance LPX 16GB 3200 | Asus TUF 4070 Ti | couple of M.2 | Sound Blaster Z | CM V850 | Be Quiet Silent Base 601 | Asus ROG Swift PG278Q | Razer Blackwidow | Razer Viper | Sennheiser GSP 600

  2. #2
    Registered User SAGE's Avatar
    Join Date: Sep:2005
    Location: Sofia
    Posts: 171
    Âèæ òåçè ëèíêîâå:

    çà DELPHI:
    http://free.data.bg/ndeu/components/slovom.pas

    PHP:
    http://georgi.unixsol.org/programs/num2bgmoney.php

    è äàíî òè ïîìîãíàò äà ñè íàïèøåø ñîáñòâåíà ôóíêöèÿ íà JAVA.

  3. #3
    Registered User spritable's Avatar
    Join Date: Oct:2001
    Location: Ðóñå
    Posts: 445
    êèðèëèöà

    Code:
    public String NumberToText(int n) {
    	if(n == 0) {
    		return "";
    	} else if(n>=1 && n<=19) {
    		String[] arr = new String[] {
                "ÅÄÈÍ", "ÄÂÀ", "ÒÐÈ", "×ÅÒÅÐÈ", "ÏÅÒ", "ØÅÑÒ", "ÑÅÄÅÌ", "ÎÑÅÌ", "ÄÅÂÅÒ", "ÄÅÑÅÒ", "ÅÄÈÍÀÄÅÑÅÒ", 
                "ÄÂÀÍÀÄÅÑÅÒ", "ÒÐÈÍÀÄÅÑÅÒ","×ÅÒÈÐÈÍÀÄÅÑÅÒ", "ÏÅÒÍÀÄÅÑÅÒ", "ØÅÑÒÍÀÄÅÑÅÒ", "ÑÅÄÅÌÍÀÄÅÑÅÒ", "ÎÑÅÌÍÀÄÅÑÅÒ", "ÄÅÂÅÒÍÀÄÅÑÅÒ"
    		};
    		return arr[n-1];
    	} else if(n>=20 && n<=99) {
    		String[] arr = new String[]{
                "ÄÂÀÄÅÑÅÒ", "ÒÐÈÄÅÑÅÒ", "×ÅÒÈÐÈÄÅÑÅÒ", "ÏÅÒÄÅÑÅ", "ØÅÑÒÄÅÑÅÒ", "ÑÅÄÅÌÄÅÑÅÒ", "ÎÑÅÌÄÅÑÅÒ", "ÄÅÂÅÒÄÅÑÅÒ"
    		};
    		if ((n%10)==0) return arr[n/10-2] + NumberToText(n%10);
    		else return arr[n/10-2] + " È " + NumberToText(n%10);
    	} else if(n>=100 && n<=199) {
    		if (n%100==0) return "ÑÒÎ" + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return "ÑÒÎ È " + NumberToText(n%100);
    		else return "ÑÒÎ" + NumberToText(n%100);
    	} else if(n>=200 && n<=299) {
    		if (n%100==0) return "ÄÂÅÑÒÀ " + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return "ÄÂÅÑÒÀ È " + NumberToText(n%100);
    		else return "ÄÂÅÑÒÀ " + NumberToText(n%100);
    	} else if (n>=300 && n<=399) {
    		if (n%100==0) return "ÒÐÈÑÒÀ " + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return "ÒÐÈÑÒÀ È " + NumberToText(n%100);
    		else return "ÒÐÈÑÒÀ " + NumberToText(n%100);
    	} else if (n>=400 && n<=999) {
    		if (n%100==0) return NumberToText(n/100) + " ÑÒÎÒÈÍ " + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return NumberToText(n/100) + " ÑÒÎÒÈÍ È " + NumberToText(n%100);
    		else return NumberToText(n/100) + " &#209;&#210;&#206;&#210;&#200;&#205; " + NumberToText(n%100);
    	// 1000 - 1999
    	} else if (n>=1000 && n<=1999) {
    		if (n%1000==0) return "ÕÈËßÄÀ " + NumberToText(n%1000);
    		if (n%1000<=99) {
    			if (((n%100)<=19)||((n%10)==0)) return "ÕÈËßÄÀ È " + NumberToText(n%1000);
    			else return "ÕÈËßÄÀ " + NumberToText(n%1000);
    		} else {
    			if (n%100==0) return "ÕÈËßÄÀ È " + NumberToText(n%1000);
    			else return "ÕÈËßÄÀ " + NumberToText(n%1000);
    		}
    	// 2000 - 999,999
    	} else { 
    		if (n%1000==0) return NumberToText(n/1000) + " ÕÈËßÄÈ " + NumberToText(n%1000);
    		if (n%1000<=99) {
    			if (((n%100)<=19)||((n%10)==0)) return NumberToText(n/1000) + " ÕÈËßÄÈ È " + NumberToText(n%1000);
    			else return NumberToText(n/1000) + " ÕÈËßÄÈ " + NumberToText(n%1000);
    		} else {
    			if (n%100==0) return NumberToText(n/1000) + " ÕÈËßÄÈ È " + NumberToText(n%1000);
    			else return NumberToText(n/1000) + " ÕÈËßÄÈ " + NumberToText(n%1000);
    		}
    	}
    }
    Last edited by spritable; 4th May 2006 at 15:43.
    i7 9700K | Noctua NH-D14 | Asus ROG Strix Z390-F | Vengeance LPX 16GB 3200 | Asus TUF 4070 Ti | couple of M.2 | Sound Blaster Z | CM V850 | Be Quiet Silent Base 601 | Asus ROG Swift PG278Q | Razer Blackwidow | Razer Viper | Sennheiser GSP 600

  4. #4
    Registered User
    Join Date: Mar:2016
    Location: Ñîôèÿ
    Posts: 2
    Âúïðåêè ñëåä 10 ãîäèíè ñëåä ïîñòíà íà spritable, èñêàì äà ìó Áëàãîäàðÿ! Ïðèìåðà ìè ñâúðøè èäåàëíà ðàáîòà. Ïðåâúðíàõ ãî çà ëåâîâå è ñòîòèíêè. Íà íÿêîé è òîâà ìîæå äà ìó òðÿáâà - ïðåâðúùàíå íà ÷èñëà (ñóìè) â äóìè.
    Àêî ìîæå ñàìî ùå ãî äîïúëíÿ ïðè ñëó÷àèòå íà "äâà ëåâ", "äâå õèëÿäè ëåâà" è ïðàâèëíîòî äîëåïâàíå. Åòî ñ öèêúë çà òåñòâàíå:

    JAVA Ïðåâðúùàíå íà ñóìà â äóìè
    Code:
    public class ConvertAmountToWords {
    	
    	public static void main(String[] args) {
    			
    		ConvertAmountToWords e = new ConvertAmountToWords();
    		System.out.println(e.convertAmountToWords(221198, 23));
    	}
    	
        public String convertAmountToWords(int numberLv, int numberSt) {
        	String totalText = "";
        	String newNumberLv = "";
        	String newNumberSt = "";
        	
                if(numberLv >= 2000 && numberLv <= 2999) {
                   newNumberLv = NumberToText(numberLv).replaceFirst("äâà", "äâå") + " ëâ.";
                }
                
                else {
                	newNumberLv = NumberToText(numberLv) + " ëâ.";
                }
                
                if(newNumberLv.contains("åäèí ëåâà")){
                	newNumberLv = newNumberLv.replaceFirst("åäèí ", "åäíà ");
                	newNumberLv = newNumberLv.replaceFirst("åäíà ëåâà", "åäèí ëåâà");
                }
                else {
                	newNumberLv = newNumberLv.replaceFirst("åäèí ", "åäíà ");
                }
                newNumberSt = NumberToTextStotinki(numberSt) + " ñò.";
                
                totalText = newNumberLv + " è " + newNumberSt;
                
    		return totalText;
    }
        
    
    private String NumberToText(int n) {
    	if(n == 0) {
    		return "";
    	} else if(n>=1 && n<=19) {
    		String[] arr = new String[] {
                "åäèí", "äâà", "òðè", "÷åòèðè", "ïåò", "øåñò", "ñåäåì", "îñåì", "äåâåò", "äåñåò", "åäèíàäåñåò", 
                "äâàíàäåñåò", "òðèíàäåñåò","÷åòèðèíàäåñåò", "ïåòíàäåñåò", "øåñòíàäåñåò", "ñåäåìíàäåñåò", "îñåìíàäåñåò", "äåâåòíàäåñåò"
    		};
    		return arr[n-1];
    	} else if(n>=20 && n<=99) {
    		String[] arr = new String[]{
                "äâàäåñåò", "òðèäåñåò", "÷åòèðèäåñåò", "ïåòäåñåò", "øåñòäåñåò", "ñåäåìäåñåò", "îñåìäåñåò", "äåâåòäåñåò"
    		};
    		if ((n%10)==0) return arr[n/10-2] + NumberToText(n%10);
    		else return arr[n/10-2] + " è " + NumberToText(n%10);
    	} else if(n>=100 && n<=199) {
    		if (n%100==0) return "ñòî" + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return "ñòî è " + NumberToText(n%100);
    		else return "ñòî " + NumberToText(n%100);
    	} else if(n>=200 && n<=299) {
    		if (n%100==0) return "äâåñòà" + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return "äâåñòà è " + NumberToText(n%100);
    		else return "äâåñòà " + NumberToText(n%100);
    	} else if (n>=300 && n<=399) {
    		if (n%100==0) return "òðèñòà" + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return "òðèñòà è " + NumberToText(n%100);
    		else return "òðèñòà " + NumberToText(n%100);
    	} else if (n>=400 && n<=999) {
    		if (n%100==0) return NumberToText(n/100) + "ñòîòèí" + NumberToText(n%100);
    		if (((n%100)<=19)||((n%10)==0)) return NumberToText(n/100) + "ñòîòèí è " + NumberToText(n%100);
    		else return NumberToText(n/100) + "ñòîòèí " + NumberToText(n%100);
    	// 1000 - 1999
    	} else if (n>=1000 && n<=1999) {
    		if (n%1000==0) return "õèëÿäà " + NumberToText(n%1000);
    		if (n%1000<=99) {
    			if (((n%100)<=19)||((n%10)==0)) return "õèëÿäà è " + NumberToText(n%1000);
    			else return "õèëÿäà " + NumberToText(n%1000);
    		} else {
    			if (n%100==0) return "õèëÿäà è " + NumberToText(n%1000);
    			else return "õèëÿäà " + NumberToText(n%1000);
    		}
    	// 2000 - 999,999
    	} else { 
    		if (n%1000==0) return NumberToText(n/1000) + " õèëÿäè " + NumberToText(n%1000);
    		if (n%1000<=99) {
    			if (((n%100)<=19)||((n%10)==0)) return NumberToText(n/1000) + " õèëÿäè è " + NumberToText(n%1000);
    			else return NumberToText(n/1000) + " õèëÿäè " + NumberToText(n%1000);
    		} else {
    			if (n%100==0) return NumberToText(n/1000) + " õèëÿäè è " + NumberToText(n%1000);
    			else return NumberToText(n/1000) + " õèëÿäè " + NumberToText(n%1000);
    		}
    	}
    }
    
    private String NumberToTextStotinki(int n) {
    	if(n == 0) {
    		return "";
    	} 
    	else if(n>=1 && n<=19) {
    		String[] arr = new String[] {
    	            "åäíà", "äâå", "òðè", "÷åòèðè", "ïåò", "øåñò", "ñåäåì", "îñåì", "äåâåò", "äåñåò", "åäèíàäåñåò", 
    	            "äâàíàäåñåò", "òðèíàäåñåò","÷åòèðèíàäåñåò", "ïåòíàäåñåò", "øåñòíàäåñåò", "ñåäåìíàäåñåò", "îñåìíàäåñåò", "äåâåòíàäåñåò"
    		};
    		return arr[n-1];
    	} 
    	else {
    		String[] arr = new String[]{
    	            "äâàäåñåò", "òðèäåñåò", "÷åòèðèäåñåò", "ïåòäåñåò", "øåñòäåñåò", "ñåäåìäåñåò", "îñåìäåñåò", "äåâåòäåñåò"
    		};
    		if ((n%10)==0) return arr[n/10-2] + NumberToText(n%10);
    		else return arr[n/10-2] + " è " + NumberToText(n%10);
    	} 
    }
    
    }
    Ðåçóëòàò:
    Code:
    äâåñòà äâàäåñåò è åäíà õèëÿäè ñòî äåâåòäåñåò è îñåì ëâ. è äâàäåñåò è òðè ñò.
    Last edited by rumenrs; 23rd March 2016 at 17:54.

  5. #5
    Registered User badboybadboy's Avatar
    Join Date: Mar:2008
    Location: sofia
    Posts: 10,494
    "äâàäåñåò è åäèí åäíà õèëÿäè äâåñòà ñåäåìäåñåò..." ìè çâó÷è ïî-ïðàâèëíî.

  6. #6
    Registered User
    Join Date: Mar:2016
    Location: Ñîôèÿ
    Posts: 2
    Quote Originally Posted by badboybadboy View Post
    "äâàäåñåò è åäèí åäíà õèëÿäè äâåñòà ñåäåìäåñåò..." ìè çâó÷è ïî-ïðàâèëíî.
    Áëàãîäàðÿ çà ïîïðàâêàòà, òàêà å. Ñëàãàì åäíà äîïúëíèòåëíà ïðîâåðêà
     ñëó÷àé, ÷å èìàìå "åäèí ñ èíòåðâàë", ñå çàìåíÿ. Òàêà íÿìà äà íè çàìåíè "åäèíàäåñåò".

    Ðåäàêöèÿ:
    Code:
     newNumberLv = newNumberLv.replaceFirst("åäèí ", "åäíà ");
    Ï.Ñ. Îïðàâèõ è ãîðíèÿ ïðèìåð.
    Last edited by rumenrs; 23rd March 2016 at 16:32.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè