ImportoInLettereRicorsiva ( parteIntera ; scala )
Re-writes amounts in words in Italian language (2/3)
Average rating: 4.4 (29 votes) Log in to vote
Federico Severin - Show more from this author
Sevesoftware Engineering http://www.sevesoftware.it |
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 )
)
)
Comments
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.