PHPで数値の桁数の数え方をサンプルコード付き解説!
この記事ではPHPで数値の桁数の数え方を解説しています。数値には整数と浮動小数点数があり、その桁数の数え方はそれぞれ別の方法で桁数を数える必要があります。2つのパターンの桁数の数え方についてサンプルコード付きで解説しています。
PHPで数値の桁数を数えたい
PHPで金額などの数字の桁数をチェックしたいということもあります。
PHPで数字の桁数を数えてチェックする方法をサンプルコードを使って解説していきたいと思います。
PHPで数値の桁数の数え方
数値にはint
型の整数とfloat
型の浮動小数点数がありますが、それぞれに応じた方法で桁数を数える必要があります。
それぞれの方法について解説していきます。
整数の桁数の数え方
整数の桁数を数える場合には、strlen
関数を使うことで桁数を数えることができます。
しかし、浮動小数点数の場合には上手く数えることができません。
桁数が10と表示されていることが確認できます。これはこの方法では小数点の部分もカウントされてしまうため正しく桁数を数えることができません。
小数点を含む浮動小数点数の場合は、次に紹介する方法で桁数を数えることができます。
浮動小数点数の桁数の数え方
浮動小数点の場合には、while
文を使うことで桁数を数えることができます。
変数$number
に浮動小数点を代入し、変数$digit
で桁数をカウントしていくため初期値には0
を代入します。
while
文の中で桁数を数えたい$number
を10
で割り算します。その後、$digit
をカウントします。それを$number
が1
より小さくなるまで繰り返すように条件式で指定しています。
$number
が1
より小さくなるまで10
で割った回数が$digit
に代入され、これが$number
の桁数に相当します。
桁数は6と表示され、正しく桁数を数えることができました。
まとめ
今回、桁数を数える方法を解説してきましたが、どちらも正の数値が桁数を数える対象でした。
負の数値をそのままで桁数を数えようとすると正しく桁数が数えられないので、abs
関数などを使って絶対値に変換してから数える必要があるため注意してくださいね。