Brian Dunning's FileMaker Custom Functions

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   Federico Severin - Show more from this author
Sevesoftware Engineering

Share on Facebook Share on Twitter

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

  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 )




Log in to post comments.


Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 16 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: