# ImportoInLettereRicorsiva ( parteIntera ; scala )

Re-writes amounts in words in Italian language (2/3)

Sample input:
ImportoInLettereRicorsiva ( 1234 , 0 )
Sample output:
milleduecentotrentaquattro

Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

// IMPORTANT: you need also the custom function NumeroATesto

// This is a recursive function that process a number translating the 3 rightmost ciphers and recursively calls herself to analyze the remaining part of the number, proceeding from right to left
// E.g.: if parteIntera = 123.546.789, the actual call will translate 789 in letters, appending to it's left the result of the recursive call on 123.456 and incrementing scala so that we shift of 3 positions the value of digits

// The first time ImportoInLettereRicorsiva is called, scala must be set to 0.

Dichiara (

// parteSinistra is the left part of the number
// left because we proceed from right to left, and than what is left to read is at the left :-)
parteSinistra = Tronca ( parteIntera / 1000 ; 0 );

// If there are no more ciphers at the left, just translate this last number
// else, call recursively the function on the left part of the number, specifying with scala that we are shifting of 3 digits, and append result to the translation of the last 3 digits in this position
If ( parteSinistra = 0 ;
NumeroATesto ( parteIntera ; scala ) ;
ImportoInLettereRicorsiva ( parteSinistra ; scala + 3 ) & NumeroATesto ( parteIntera - parteSinistra * 1000 ; scala )
)

)