PHPの関数を使うと、
pow()して位を揃えて⇒floor()で切り捨て
という処理になりますが、これだと丸め誤差が発生してしまいます。
ですので、演算をしないで文字列のまま切り捨てる方法で
誤差を発生させないようにします。
※処理対象の値がマイナスの場合は注意して下さい
floor(-1.8)は「-2」ですが、下記ソースでは「-1」となります。
【ソース例】
function kirisute($data,$keta){
$wk = $data;
$pos = strpos($wk, '.');
if ($pos){
//小数がある
$wk = substr($wk,0,$pos+$keta+1);
}
return $wk;
}
上記は切り捨ての場合ですが、切り上げ、四捨五入も
最終桁の値を判定してやれば、ほぼ同じようにできます。