Peter, I seem to recall that in accountancy, negative values can be shown in 
parentheses rather than using the minus sign, so (£1,234.56) = -£1,234.56.

Just another variable! ;-)
  
On 2 Mar 2011, at 01:33, Peter Haworth wrote:

> Hi Alex,
> To be honest, I'm not sure if there's a real life case for variable sizing of 
> groups!  I'm using the specs for the information returned by the Unix locale 
> LC_MONETARY command and it specifically talks about the group spec this way.  
> Seems unlikely but  it adds to the spice of writing a script to deal with it!
> 
> I have come across some currencies where the neg sign comes after the 
> currency symbol so I think I will have to add another parameter for that but 
> For now, always make the neg sign either the first char or the last char in 
> the string, so "-$12.34" and "12.34$-".
> 
> Good question on the zero issue.  The first thing I realised with this is 
> that if the number of decimals is greater than the number of digits passed 
> in,  zero-filling is needed.  For example, if I pass in 5 and the number of 
> decimals is 2, then the numbers after the decimal need to be 05, not 5.  But 
> in answer to your question, there should be a zero before the decimal point 
> if the number is less than 1, so $0.05 or -$0.05.
> 
> Thanks!
> 
> Pete Haworth
> 
> 
> 
> 
> 
> 
> 
> http://www.mollysrevenge.com
> http://www.sonicbids.com/MollysRevenge
> http://www.myspace.com/mollysrevengeband
> 
> 
> 
> 
> 
> 
> 
> 
> On Mar 1, 2011, at 4:42 PM, Alex Tweedly wrote:
> 
>> I'm curious  is there really a real-life use-case for the group spec ? i.e. 
>> variable size groupings of digits ?
>> 
>> Not sure what order you want for currency and neg sign ?   Should it be
>>  $-123  or -$123
>> and should it be 123-$  or  123$-  ?
>> 
>> Should there always be a 0 before the "point" ?  i.e. could the result   be  
>>  .12  rather than 0.12 ?
>> How about -.12 rather than -0.12 ?
>> 
>> Thanks for a fun challenge ....
>> -- Alex.
>> 
>> 
>> 
>> On 01/03/2011 04:55, Peter Haworth wrote:
>>> OK, here's an amusing exercise in scripting for you experts out there, but 
>>> I'm giving away a prize!  I will give the person who provides the best 
>>> solution a copy of my band's latest CD, Aged 10 years.  the definition of 
>>> "best" is strictly my opinion!  If you don;t like traditional Celtic music 
>>> (including bagpipes), we;ll just do the script for the fun of it and sell 
>>> the CD on eBay!!!
>>> 
>>> You have an integer value that needs to be formatted into a currency value. 
>>>  It is stored as a positive or negative binary value no matter how many 
>>> decimal places it has (eg 10000 = $100.00). You have the following 
>>> formatting characters to deal with:
>>> 
>>> currency symbol: always present
>>> 
>>> currency symbol position: 1 = before the number, 0=after the number
>>> 
>>> decimal delimiter :  could be empty
>>> 
>>> number of decimals: could be zero and will be if decimal point char is empty
>>> 
>>> negative sign character: always present
>>> 
>>> negative sign position: 1= at the start of the formatted number , 0= at the 
>>> end of the formatted number
>>> 
>>> group separator character: Specifies the character separator used for 
>>> grouping digits to the left of the decimal delimiter in formatted monetary 
>>> quantities.  Could be present even if no decimal delimiter is specified.  
>>> Also could be empty, meaning no grouping.
>>> 
>>> grouping spec:  Specifies a string that defines the size of each group of 
>>> digits in formatted monetary quantities. Only present if the group 
>>> separator is not empty. Consists of a sequence of semicolon-separated 
>>> integers. Each integer specifies the number of digits in a group. The 
>>> initial integer defines the size of the group immediately to the left of 
>>> the decimal delimiter. The following integers define succeeding groups to 
>>> the left of the previous group. If the last integer is not -1, the size of 
>>> the previous group (if any) is repeatedly used for the remainder of the 
>>> digits. If the last integer is -1, no further grouping is performed.
>>> 
>>> Deadline is midnight Friday March 4th, California time.  Good luck!
>>> 
>>> Pete Haworth
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> 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
>>> 
>> 
>> 
>> _______________________________________________
>> 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
>> 
> 
> _______________________________________________
> 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


_______________________________________________
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

Reply via email to