Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Importo --> lettere

  1. #1

    Importo --> lettere

    Qualcuno conosce uno script che permette dato un importo di convertirlo in lettere ????

    Del tipo: 12.000 ---> dodicimila.

    THX
    Sayonara...

    kami del tempo / raccogli i miei ricordi / vola distante.

    Rinaldo - RexPlants
    RexPlants il forum delle piante che mangiano

  2. #2
    Utente di HTML.it L'avatar di tridi9
    Registrato dal
    Apr 2002
    Messaggi
    346
    io non lo conosco, ma credo sia qualcosa di increbile se esite.

    ........‘’’........
    .......(o o).......
    ----ooO-(_)-Ooo----

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Credo che abbia fatto qualcosa shishii (moderatore del forum CGI) qualche anno fa.
    Forse lo ha fatto in Perl, e/o in C.
    Prova ad andare nel suo sito, e cercare.

    Se non fosse troppo complesso si potrebbe tradurlo in JS, se serve.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    THX vedro di rimediare qualcosa ... nel caso vi faccio sapere.

    Sayonara...

    kami del tempo / raccogli i miei ricordi / vola distante.

    Rinaldo - RexPlants
    RexPlants il forum delle piante che mangiano

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ho perso il vecchio... l'ho dovuto reinventare

    codice:
    
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var Unita = new Array("","uno","due","tre","quattro","cinque","sei","sette","otto","nove","dieci","undici","dodici","tredici","quattordici","quindici","sedici","diciassette","diciotto","diciannove")
    var Decin = new Array("","","vent","trent","quarant","cinquant","sessant","settant","ottant","novant")
    var Decine = new Array("","","venti","trenta","quaranta","cinquanta","sessanta","settanta","ottanta","novanta")
    var Fase = new Array("","mila","milioni","miliardi")
    var Fase1 = new Array("uno","mille","unmilione","unmiliardo")
    
    function Num2Let(Numero) {
    if (Numero==0) return "zero";
    Numero = String(Numero);
    // scompongo il numero 
    passo = 0 
    r = ""
    while(Numero!="") {
    	// prendo fino a tre cifre a destra
    	l = Numero.length;
    	if (l>3) {
    		Parziale = Numero.substr(l-3);
    		Numero = Numero.substr(0,l-3);
    	} else {
    		Parziale = Numero;
    		Numero = "";
    	}
    	// aggiungo zeri a sinistra
    	while(Parziale.length<3) { Parziale="0"+Parziale }
    	// caso: uno
    	if (Parziale=="001") {
    		p = Fase1[passo]
    	} else {
    		// divido le tre cifre e trasformo in numero
    		c = parseInt(Parziale.charAt(0),10);
    		d = parseInt(Parziale.charAt(1),10);
    		u = parseInt(Parziale.charAt(2),10);
    		p = ""
    		// centinaia
    		if (c>0) { 
    			if (c>1) p+=Unita[c];
    			p+="cento";
    		}
    		// decine
    		if (d>0) { 
    			if (d>1) {
    				if (u==8||u==1) { // unita' che iniziano per vocale
    					p+=Decin[d];
    				} else {
    					p+=Decine[d];
    				}
    			} else {
    				u+=10; // comreso fra 1 e 19
    			}
    		}
    		// unita' ( fino al 19 )
    		if (u>0) { 
    			p+=Unita[u];
    		}
    		// aggiungo il suffisso
    		p+=Fase[passo];
    	}
    	// metto il parziale davanti al risultato e incremento passo
    	r = p+r;
    	passo++;
    }
    return r
    }
    //-->
    </SCRIPT>
    
    <form>
    <input type=text onKeyUp="this.value=this.value.replace(/\D/g,'').replace(/^0+/,'')
    ; this.form.lettere.value=Num2Let(this.value);">
    
    
    <input type=text name=lettere size=120>
    </form>
    
    ps: non ho avuto tempo di ottimizzarlo... cosi' pero' e' piu' leggibile

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.