The printf statement doesn't change the value it's printing,
just the format. Thus, formatting 1500 with 2 decimal places
should do exactly what you described it doing: printing
1500.00.
I do not really understand what you mean by avoiding "doing
math" ... why do you not want to use math (as far as I know,
you pretty much have to do math to meaningfully and reliably
generate the output you desire). Perhaps you mean that you
do not want to alter the value of $foo to generate the output,
and also do not want to generate a new variable just for
output formatting. If so, that is simple enough:
$foo = 1500;
printf ("%.2f", $foo/100);
This generates the desired output without affecting the
value of $foo and without using another variable. Yes, you
have still multiplied by 0.01, but that value is only used
for the printf output and then vanishes.
-
HZ