PHPで四捨五入、切り捨て、切り上げする方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPで四捨五入、切り捨て、切り上げする方法について現役エンジニアが解説しています。四捨五入、切り捨て、切り上げする方法には、round関数やceil関数、floor関数があります。浮動小数点はfloat型ですが、これらの関数は小数点を四捨五入、切り上げ、切り捨てをします。

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

今回は、PHPで四捨五入、切り捨て、切り上げする方法について解説します。

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

PHPで四捨五入、切り捨て、切り上げする方法について詳しく説明していくね!

大石ゆかり

お願いします!

PHPで小数点以下の値を表示するには、浮動小数点型(float)という型を使います。この浮動小数点型の通常の表示では、小数点以下全ての桁が表示されます。

そこで、浮動小数点型の数値を、四捨五入、切り捨て、切り上げで表示するために、round関数、ceil関数、floor関数を用います。

round()(四捨五入)の使い方

round関数では、浮動小数点型の数字を四捨五入して表示することができます。小数点以下を四捨五入するため、出力される値は整数の数字になります。

round(3.4);
→ 3

round(3.5);
→ 4

round関数では、2つ目の引数に、小数点何桁まで表示する(何桁より下の桁で四捨五入する)ということを指定することができます。

※未指定の場合は、0となります。

round(3.1415, 1);
→ 3.1

round(3.1415, 2);
→ 3.14

round(3.1415, 3);
→ 3.142

またこの2つ目の引数をマイナスにすることで、整数の何桁以上で四捨五入するかを指定することもできます。

round(271828, -1);
→ 271830

round(271828, -2);
→ 271800

round(271828, -3);
→ 272000

 

ceil()(切り上げ)の使い方

ceil関数では、浮動小数点型の数字の少数点以下を切り上げて整数の数字を返します。

※ceil関数はround関数のように桁数の指定はできません。

マイナスの少数の場合は、より0に近い整数に切り上げられます。

ceil(3.14)
→ 4

ceil(-3.14)
→ -3

 

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

floor(切り捨て)の使い方

floor関数では、浮動小数点型の数字の少数点以下を切り捨てて整数の数字を返します。

※floor関数でもround関数のように桁数の指定はできません。

マイナスの少数の場合は、より0に遠い整数に切り下げられます。

floor(3.14)
→ 3

floor(-3.14)
→ -4

 

実際に書いてみよう

それでは、実際にどのような値が出力されるのか見てみましょう。

<?php
echo round(3.4)."\n";
echo round(3.5)."\n";
echo round(3.1415, 1)."\n";
echo round(3.1415, 2)."\n";
echo round(3.1415, 3)."\n";
echo round(271828, -1)."\n";
echo round(271828, -2)."\n";
echo round(271828, -3)."\n";
echo ceil(3.14)."\n";
echo ceil(-3.14)."\n";
echo floor(3.14)."\n";
echo floor(-3.14)."\n";
?>

出力内容は下記のようになります。

3
4
3.1
3.14
3.142
271830
271800
272000
4
-3
3
-4

 

筆者プロフィール

メンターYさん

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

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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

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

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