島村です。
> 以前に同じこと調べたような気がします。(PHP4.3.xくらい)
> 確かprintf内で演算を行うと、精度が勝手に調整されてしまった気が。
> (詳細忘れました)
>
> なので、演算は別のステートメントで行い、その結果だけをspritfするのが
> 良いかと思います。
$aa = 10.29 * 10000;
echo sprintf("%0d", $aa);
としたのですが、答えは 102899 と同じでした。
いまのところ、sprintf() を strval() で置き換えようかと考えています。