Re: number formatting

2014-04-20 Thread steven kladitis via Digitalmars-d-learn

Note sure if you can edit messages once sent.

 $13,456.67
 245,678,541


On Sunday, 20 April 2014 at 12:50:52 UTC, steven kladitis wrote:

How do you format numbers to have things like.
 Leading $ or , or CR with or without leading zeros.
  for example $56.00
  $056.00
  $1,3456.67
  345.89CR




number formatting

2014-04-20 Thread steven kladitis via Digitalmars-d-learn

How do you format numbers to have things like.
 Leading $ or , or CR with or without leading zeros.
  for example $56.00
  $056.00
  $1,3456.67
  345.89CR



Re: number formatting

2014-04-20 Thread monarch_dodra via Digitalmars-d-learn

On Sunday, 20 April 2014 at 12:53:11 UTC, steven kladitis wrote:

Note sure if you can edit messages once sent.

 $13,456.67
 245,678,541


On Sunday, 20 April 2014 at 12:50:52 UTC, steven kladitis wrote:

How do you format numbers to have things like.
Leading $ or , or CR with or without leading zeros.
 for example $56.00
 $056.00
 $1,3456.67
 345.89CR


Simply add what you want in the format string. For example:

double d = 56.55;
writefln($03.5s, d);
writefln(.4sCR, d);

will print
$056.55
56.55CR

I don't know of any built-in way to do number grouping.

Also, when dealing with monetary amounts, you shouldn't be using 
doubles (I'm not saying you are), but some other structure 
specifically designed to track cents. Ideally, such a structure 
would have built-in toString formating.


Re: number formatting

2014-04-20 Thread JR via Digitalmars-d-learn

On Sunday, 20 April 2014 at 12:53:11 UTC, steven kladitis wrote:

Note sure if you can edit messages once sent.

 $13,456.67
 245,678,541


On Sunday, 20 April 2014 at 12:50:52 UTC, steven kladitis wrote:

How do you format numbers to have things like.
Leading $ or , or CR with or without leading zeros.
 for example $56.00
 $056.00
 $1,3456.67
 345.89CR


As for grouping by thousands http://dpaste.dzfl.pl/bddb71eb75bb 
*does* work, but I'm not particularly happy with the approach.


As monarch_dodra said, representing money via a struct or similar 
would be wiser than dealing with raw doubles/reals (as that paste 
does).