PHPのbcmod()関数を使って任意精度の数値の剰余(モジュロ)を求める方法
PHPでは、bcmod() 関数を使用することで、任意精度(BCMath)の数値の剰余(モジュロ)を計算できます。この関数は数値を文字列型として受け取り、指定された精度に従って演算を行い、剰余の結果を返します。つまり、$dividend を $modulus で割った余りを取得する関数です。$modulus が 0 でない限り、結果は $dividend と同じ符号になります。
構文
bcmod(string $dividend, string $modulus, int $scale = 0)
補足:上記の構文は $dividend を $modulus で割った余りを返します。$modulus が 0 でない場合、結果は $dividend と同じ符号になります。
パラメータ
bcmod() 関数は、次の2つの必須パラメータと1つのオプションパラメータを受け取ります。
$dividend − 割られる数(被除数)を表す文字列型のパラメータです。
$modulus − 法(剰余を求めるための除数)を表す文字列型のパラメータです。
$scale − 小数点以下の桁数を指定するオプションの整数パラメータです(PHP 7.2.0 以降で利用可能)。デフォルトは 0 です。
戻り値
bcmod() 関数は、被除数を法で割ったときの剰余を文字列として返します。法が 0 の場合、PHP 8.0 以降では ValueError がスローされ、それ以前のバージョンでは null が返されます。
例1:scale パラメータを使用しない場合
<?php
// 任意精度の入力数値
$dividend = "25.666";
$modulus = "7";
// 剰余を計算
$result = bcmod($dividend, $modulus);
echo "Output without using scale value: ", $result;
?>
出力結果
Output without using scale value: 4
scale を指定しない場合、小数部分は無視され、整数部のみの剰余が返されます。
例2:scale パラメータを使用する場合
次に、同じ入力値に対して scale 値として 4 を指定し、出力結果を確認してみましょう。
<?php
// 任意精度の入力数値
$dividend = "25.666";
$modulus = "7";
// scale 値に 4 を指定
$scaleVal = 4;
// 剰余を計算
$result = bcmod($dividend, $modulus, $scaleVal);
echo "Output with scale value: ", $result;
?>
出力結果
Output with scale value: 4.6660
このように scale を指定すると、小数点以下の桁数まで考慮した剰余が計算され、結果は指定した桁数で整形されて返されます。
例3:bcscale() と組み合わせた使用例
<?php
bcscale(1);
// PHP 7.2.0 以降では 0.5、それ以前では 0 を返す
echo bcmod('5.7', '1.3');
?>
出力結果
0.5
-
PHPのimagecrop()関数で画像を指定した矩形領域にトリミングする方法
imagecrop()関数とはimagecrop()は、PHPに組み込まれている関数で、画像を指定した矩形領域にトリミングするために使用されます。指定された矩形領域から画像を切り取り、出力画像を返します。なお、元の画像リソース自体は変更されません。構文resource imagecrop ($image, $rect)パラメータimagecrop()は、$imageと$rectの2つのパラメータを受け取ります。$image − imagecreatetruecolor()やimagecreatefrompng()などの画像作成関数によって返される画像リソースです。処理対象の画像を指定します。$
-
ExcelのROUND関数で数値を丸める方法|四捨五入をわかりやすく解説
Excelで資料を見やすく整えたいとき、数値を小数点以下や整数単位で丸めると、ぐっと読みやすくなります。数値を丸めるということは、重要度の低い桁を取り除くことを意味します。その結果、必要な精度を保ちながら、より見栄えの良い値に仕上げることができます。 丸め処理は、概算を示したり、数値を扱いやすくしたりする目的でよく使われます。たとえば、割引率を計算して「17.3587563」という数値が出た場合、小数第1位で丸めれば「17.4%」となり、はるかに見やすくなります。この記事では、ROUND関数を使って数値を丸める方法を詳しくご紹介します。 ExcelのROUND関数とは ROUND関数は、Ex