Emilia Venturato ha scritto:
> Salve a tutti,
> mi hanno chiesto durante un corso che tenevo se ci sia una formula in
> calc che permetta di trasformare un importo in euro da numerico a testo.
> Nel senso di scrivere: 5000 -> cinquemila.
> Io non ho trovato nulla del genere.
> Mi hanno detto che in office lo fanno ma non saprei dire se con una
> funzione o una macro.
> Qualcuno ha delle idee di come risolvere il problema?
>
non so se esiste già pronto, comunque io farei un algoritmo con un ciclo
ed una serie di array che contengono le parti in lettere es:
stringa sPotenza[] = "miliardi","","","milioni","","","mila","cento";
string sUni[]="zero","uno","due",...,"diciannove";
stringa sCenti[]="venti","trenta","quaranta",...,"novanta";
lavorando da destra sinistra dovresti andare di cifra in cifra (a parte
le 2 più a sinistra), prenderle e distinguerle tra 2 insiemi:
x < 20, x >=20
l'unica attenzione è per i numeri la cui cifra più a sinistra è 1, ad
esempio 1000 = mille e non unomila e per eliminare le vocali contigue
es: ottantauno -> ottantuno.
Poi devi comporre in ordine inverso le stringhe ottenute.
Per lavorare da destra a sinistra come struttura dati di supporto puoi
usare uno stack, estraendo e concatenando dalla cima otterrai la stringa
in lettere del numero intero.
Es, 1987 nello stack sarà:
mille
novecent (perde la o finale per l'ottanta)
ottanta
sette
e quindi componendo dall'ultimo entrato verso il primo ottieni
millenovecentottantasette.
> Grazie mille e a presto,
> lia
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]