Unfortunately all number formatting functions seem to round-up.
If it's only for display:
$a = sprintf("%6.3f",66.666666);
echo substr($a, 0, strlen($a)-1);
this simply changes the format to 66.667, and chops off the last digit.
Not nice, but it works.