今日はPHPのround関数に関して前回と違った切り口で紹介してみます。また、コンピュータ上での整数についても少し紹介してみます。

前回の記事「PHPの奇妙なround関数」([id:hnw:20070515])を読んで、小数点が付いた数なんてPHPで触ったことないから関係ないや、なんて考えた方が居るかもしれません。そんな方のために、今回は整数を四捨五入してみます。

PHPのround関数は、省略可能ですが第2引数を取ることもできます。これは、何桁目までで丸めるかの指定です。デフォルトは0です。例えば第2引数に2を指定すると、小数点以下第3位を四捨五入して小数点以下第2位までに丸めてくれます。

ここにマイナスの数を指定することで、1の位より上の桁で四捨五入をすることもできます。たとえば、下記のように第2引数に-2を指定すれば100の位で丸められます。これは仕事でプログラムを書く際にも使える場面がありそうです。

$ php -r '$x=1192;var_dump(round($x, -2));' float(1200)

さて、このような使い方をしたとき、前回奇妙に感じた件はどう影響するんでしょうか。早速試してみましょう。