How do I get bc(1) to print the leading zero?
After a quick look at the source (see bc_out_num()
, line 1461), I don't see an obvious way to make the leading 0
get printed if the integer portion is 0
. Unless I missed something, this behaviour is not dependent on a parameter which can be changed using command-line flag.
Short answer: no, I don't think there's a way to make bc
print numbers the way you want.
I don't see anything wrong with using sed
if you still want to use bc
. The following doesn't look that ghastly, IMHO:
[me@home]$ echo "0.1 + 0.1" | bc | sed 's/^\./0./'0.2
If you really want to avoid sed
, both eljunior's and choroba's suggestions are pretty neat, but they require value-dependent tweaking to avoid trailing zeros. That may or may not be an issue for you.