スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[PHP] 任意桁数での切り捨て 

PHPにおいて、任意桁数での切り捨てを行う関数。

function y_floor($value, $precision = 0) {
	if ($value < 0) {
		$offset = abs($value - bcadd($value, 0, $precision)) > 0 ? pow(0.1, $precision) : 0;
		return (float) bcsub($value, $offset, $precision);
	}
	return (float) bcadd($value, 0, $precision);
}
組み込みのfloor関数は、何故か小数点以下の切り捨てしか出来ないため、任意の桁数でやりたい場合、別途作る必要がある。
10^xしてfloorして割るなんてすると誤差が出たりするので(floor((0.1 + 0.7) * 10)的な)、BC Mathの関数を使ってみた。
負数の処理が微妙。もっと良い方法あるんだろうなぁ…。

コメント

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://yotama.blog84.fc2.com/tb.php/21-dfed418c
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。