[PHP-users 11914] sprintfについて

渡邊敦彦 php-users@php.gr.jp
Mon, 02 Dec 2002 13:50:52 +0900


渡邊と申します。

入力値を計算した値を sprintf で丸め処理して表示したところ
おかしな結果が出てきました。これはどういうことでしょうか?
ご存知の方がいらっしゃったら教えていただけますか?

========= ソース ============
$kekka = $atai1 * $atai2;
$kekka2 = sprintf("%d", $kekka);
--------- ここまで ----------
(1)$atai1 に8.04、$atai2 に6800 を入力して実行すると
 $kekka2 に 54671 が入ってきます。

(2)$atai1 に54672、$atai2 に1 を入力して実行すると
 $kekka2 に 54672 が入ってきます。

(3)$atai1 に54672.05、$atai2 に1 を入力して実行すると
 $kekka2 に 54672 が入ってきます。

(4)$atai1 に54672.00、$atai2 に1 を入力して実行すると
 $kekka2 に 54672 が入ってきます。
=================================


PHPのバージョンは3.0.18+国際化版です。
よろしくお願いします。

_/_/_/_/_/_/_/_/_/_

   渡邊 敦彦 /株式会社シーボックス
   Nobuhiko Watanabe / C box,Inc
Email:        nabe@ccbox.co.jp
Email(緊急)  nabe-cbox@docomo.ne.jp
   〒453-0028 名古屋市中村区寿町25           
Phone: 052-481-3295  Fax:  052-481-3296

_/_/_/_/_/_/_/_/_/_