calc: Percentages

 
 8.6.1 Percentages
 -----------------
 
 The ‘M-%’ (‘calc-percent’) command takes a percentage value, say 5.4,
 and converts it to an equivalent actual number.  For example, ‘5.4 M-%’
 enters 0.054 on the stack.  (That’s the <META> or <ESC> key combined
 with ‘%’.)
 
    Actually, ‘M-%’ creates a formula of the form ‘5.4%’.  You can enter
 ‘5.4%’ yourself during algebraic entry.  The ‘%’ operator simply means,
 “the preceding value divided by 100.” The ‘%’ operator has very high
 precedence, so that ‘1+8%’ is interpreted as ‘1+(8%)’, not as ‘(1+8)%’.
 (The ‘%’ operator is just a postfix notation for the ‘percent’ function,
 just like ‘20!’ is the notation for ‘fact(20)’, or twenty-factorial.)
 
    The formula ‘5.4%’ would normally evaluate immediately to 0.054, but
 the ‘M-%’ command suppresses evaluation as it puts the formula onto the
 stack.  However, the next Calc command that uses the formula ‘5.4%’ will
 evaluate it as its first step.  The net effect is that you get to look
 at ‘5.4%’ on the stack, but Calc commands see it as ‘0.054’, which is
 what they expect.
 
    In particular, ‘5.4%’ and ‘0.054’ are suitable values for the RATE
 arguments of the various financial functions, but the number ‘5.4’ is
 probably _not_ suitable—it represents a rate of 540 percent!
 
    The key sequence ‘M-% *’ effectively means “percent-of.” For example,
 ‘68 <RET> 25 M-% *’ computes 17, which is 25% of 68 (and also 68% of 25,
 which comes out to the same thing).
 
    The ‘c %’ (‘calc-convert-percent’) command converts the value on the
 top of the stack from numeric to percentage form.  For example, if 0.08
 is on the stack, ‘c %’ converts it to ‘8%’.  The quantity is the same,
 it’s just represented differently.  (Contrast this with ‘M-%’, which
 would convert this number to ‘0.08%’.)  The ‘=’ key is a convenient way
 to convert a formula like ‘8%’ back to numeric form, 0.08.
 
    To compute what percentage one quantity is of another quantity, use
 ‘/ c %’.  For example, ‘17 <RET> 68 / c %’ displays ‘25%’.
 
    The ‘b %’ (‘calc-percent-change’) [‘relch’] command calculates the
 percentage change from one number to another.  For example, ‘40 <RET> 50
 b %’ produces the answer ‘25%’, since 50 is 25% larger than 40.  A
 negative result represents a decrease: ‘50 <RET> 40 b %’ produces
 ‘-20%’, since 40 is 20% smaller than 50.  (The answers are different in
 magnitude because, in the first case, we’re increasing by 25% of 40, but
 in the second case, we’re decreasing by 20% of 50.)  The effect of ‘40
 <RET> 50 b %’ is to compute ‘(50-40)/40’, converting the answer to
 percentage form as if by ‘c %’.