[PHP-users 35359] 小数点以下を含まない ceil()の実行結果

竹内宜長 whiskaze @ gmail.com
2010年 9月 6日 (月) 16:11:55 JST


お世話になります。

以下のコードを実行すると小数点以下を含まない整数でも
特定の計算式において整数を切り上げてしまっているような
挙動になっています。

$a=2*10770*1.35;
echo $a;        // 29079
echo ceil($a);  // 29080

$a=2*10070*1.35;
echo $a;        // 27189
echo ceil($a);  // 27189
exit;

解決策としては

$s=strpos($a,'.');
if($s !== false){
  return ceil($a);
}else{
  return $a;
}

こんな感じで実装していますが
この挙動に関して、何かしら情報がありましたら
教えて頂けると助かります。
マニュアルの
http://jp2.php.net/manual/ja/function.ceil.php
は閲覧致しました。

よろしくお願いします。

---使用環境-------
centos 5.5
Apache/2.2.14
php-5.3.1



PHP-users メーリングリストの案内