Mike > On 27 Jul 2015, at 19:14, Michael Doub <miked...@gmail.com> wrote: > > Peter, there is a function in the MasterLibrary that does this for you. Look > in the Text section. > > https://www.dropbox.com/s/3wpwn3hfbmpl7sk/MasterLibrary.livecode?dl=0 > > Regards, > Mike
The MasterLibrary is impressive, I should have looked at it before. The function didn’t seem to have the exact format that I needed but it was a good stimulus to write one that meets my needs. I wanted to format the numbers in what I call accounting format - thousands separators with negative numbers in brackets (or parentheses depending from where one hails). Thanks to LiveCode’s chunking the function is very short, dealing with the arguments takes almost as much code as the function. I include it here in case it is of use to others. I’m sure it could be improved and would welcome any suggestions. function numToAccounting pNum, pDecimalSeparator, pThousandSeparator # Purpose: Converts a number to accounting format # Inputs: # pNum The number to be converted # pDecimalSeparator The character to be used, default "." # pThousandSeparator The character to be used, default "," # Returns: The number in accounting format rounded toplevel # decimal places local tCount local tDecimalSeparator local tNum local tStart local tThousandSeparator # set the separators if pThousandSeparator is empty then put "," into tThousandSeparator else put pThousandSeparator into tThousandSeparator end if if pDecimalSeparator is empty then put "." into tDecimalSeparator else put pDecimalSeparator into tDecimalSeparator end if #format the numbers put format("%.2f", pNum) into tNum put tDecimalSeparator into char -3 of tNum put 0 into tCount put the length of tNum - 3 into tStart repeat with i = tStart down to 1 add 1 to tCount if tCount = 4 then if char i of tNum = "-" then exit repeat put tThousandSeparator after char i of tNum put 1 into tCount end if end repeat if pNum < 0 then put "(" into character 1 of tNum put ")" after tNum end if return tNum end numToAccounting _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode