PHPで小数点以下を表示する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPで小数点以下を表示する方法について現役エンジニアが解説しています。PHPで少数点以下の数字を扱うには、浮動小数点型(float型)を使います。小数点以下が0の場合は整数として表示されてしまうので、printf・sprintfやnumber_format関数を使い桁数を指定します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、PHPで小数点以下を表示する方法について解説します。

 

なお本記事は、TechAcademyのPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPで小数点以下を表示する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
PHPで少数点以下の数字を扱うには、浮動小数点型(float型)を使います。

変数を定義するときに、小数点をつけた数字を代入すれば、自動的に浮動小数点型になります。
 

$a = 10.0;

 
では、この数字を表示する方法を見ていきましょう。
 

小数点以下を表示する

通常の出力では、整数型、浮動小数点型に関わらず、小数点以下が0の場合は、整数として表示されます。
 

$a = 10.0;
$b = 10;
echo $a;  // 10が表示される。
echo $b;  // 10が表示される。

 
これを少数点以下まで表示するためには、フォーマットを指定して出力する方法があります。
小数点以下を表示するための関数として、printfとsprintfとnumber_formatがあります。

printfとsprintfとの違いは、値の出力を標準出力に出力するのか、戻り値として返すのかの違いです。

printfは値を標準出力に出力し、sprintfは値を戻り値として返します。
これらの関数は、出力する値を特定のフォーマットに従って整形します。

1つ目の引数に表示する内容、2つ目以降の引数にフォーマットに沿って表示したい値を取ります。

小数点を表示するには、「%.2f」というフォーマットを使います。ここでの整数「2」は、小数点以下第二位までを表示するという指定です。
 

$a = 10.0;
printf("%.2f\n", $a); // 10.00と表示される。

 
※sprintfも同様の引数をとります。

また、number_formatでは、1つ目の引数に表示したい数字、2つ目の引数に小数点以下第何位まで表示するかを指定します。
 

$a = 10.0;
echo number_format($a, 2); // 10.00と表示される。

 
このように、それぞれ小数点以下第何位まで表示するかを指定して表示できます。
 

実際に書いてみよう

それでは、実際に小数点以下の出力内容を確認してみます。

下記のように、3つの数字を用意して、それぞれの関数で出力します。
※var_dump関数は、値の型を確認するために用います。
 

<?php
$a = 10.0;
$b = 10;
$c = 1/3;
var_dump($a);
var_dump($b);
var_dump($c);
echo "---- printf ----\n";
printf("%.2f\n",$a);
printf("%.2f\n",$b);
printf("%.2f\n",$c);
echo "---- sprintf ----\n";
echo sprintf('%.2f',$a)."\n";
echo sprintf('%.2f',$b)."\n";
echo sprintf('%.2f',$c)."\n";
echo "---- number_format ----\n";
echo number_format($a, 2)."\n";
echo number_format($b, 2)."\n";
echo number_format($c, 2)."\n";
?>

 
出力結果は下記のようになります。
 

float(10)
int(10)
float(0.33333333333333)
//---- printf ----
10.00
10.00
0.33
//---- sprintf ----
10.00
10.00
0.33
//---- number_format ----
10.00
10.00
0.33

 
このように、それぞれの関数で小数点以下第二位まで表示されているのが確認できます。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

筆者プロフィール

メンターYさん

フリーランスエンジニアとして、PHPを中心としたWEB開発全般を行う。
最近では、WordPressを使ったメディアの構築・運用を多くこなしている。

元々は大手通信会社のエンジニアで、セキュリティに関する仕事をするも、大企業が肌に合わず独立。
一箇所に縛られての仕事を苦手とし、自宅とカフェとコワーキングスペースを行ったり来たりしている。

ただ、自宅にいるとどうしてもゲームをしてしまうため、コワーキングスペースの比率が大きい。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

オンラインのプログラミングスクールTechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。