オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

 

そもそもPHPについてよく分からないという方は、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を学んで未経験からWebエンジニアを目指す方法とは

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を使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。