
こんにちは!ほりうちと申します。この記事では、Swift 5.10およびXcode 15.4を使用して、Swiftにおける四捨五入の処理について、サンプルコードを交えながら説明しております。
初心者の方でも分かりやすいように、サンプルコードに適宜説明を入れながら解説していくので、ぜひご覧ください。
この記事を読んで分かること…
・floor()を用いた切り捨ての方法
・ceil()を用いた切り上げの方法
・round()を用いた四捨五入の方法
実行環境
・実行環境:Swift PlayGround
・Swift:5.10
・XCode:15.4
・サンプルコードの実行確認日:2024年12月17日(火)
※ 今回紹介するfloor()、ceil()、round()は、macOS10.10+以上で動作しますので、それ未満の場合はOSのアップデートが必要な可能性があります。
floor()/切り捨てとは?
double floor(double);
floor()は引数の値を切り捨てることのできる、数学関数の一種です。
サンプルコード
import Foundation
let value = 16.53
let floorValue = floor(value)
print(floorValue)
let increasedFloorValue = floor(value*10)/10
print(increasedFloorValue)
出力
16.0
16.5
サンプルコードの説明
◾️行 1: Foundation
をインポートしています。これが無ければ数学関数を使うことが出来ません。
◾️行 2: 切り捨てたい値value
を定義しています。今回はコードの中で値を再度代入しないので、let
にしています。
◾️行 3: 切り捨てた値を代入するための値floorValue
を定義しています。今回はコードの中で値を再度代入しないのでlet
にしています。
◾️行 4: floorValue
を出力しています。
◾️行 5: 小数点第2位を切り捨てます。
・今回の場合だと、まず16.53を10倍した値である165.3をfloor()
を使って切り捨てます。
・165.3を10で割ることで、切り捨てたい値である16.5が求められます。
・小数点をずらしたいときは、小数点第3位で切り捨てたい時は100、第4位で割り切りたい時は1000…のように、桁数を増やしていくことで実現することができます。例)小数点第3位の場合:floor(value*100)/100
ceil()/切り上げとは?
概要
double ceil(double);
ceil()
は引数の値を切り上げることのできる、数学関数の一種です。
サンプルコード
import Foundation
let value = 16.53
let ceilValue = ceil(value)
print(ceilValue)
let increasedCeilValue = ceil(value*10)/10
print(increasedCeilValue)
出力
17.0
16.6
サンプルコードの説明
◾️行 1: Foundation
をインポートしています。これが無ければ数学関数を使うことが出来ません。
◾️行 2: 切り上げたい値value
を定義しています。今回はコードの中で値を再度代入しないので、let
にしています。
◾️行 3: 切り上げた値を代入するための値ceilValue
を定義しています。今回はコードの中で値を再度代入しないので、let
にしています。
◾️行 4:ceilValue
を出力しています。
◾️行 5: 小数点第2位を切り上げます。・今回の場合だと、まず16.53を10倍した値である165.3をceil()
を使って切り上げます。
・166.0を10で割ることで、切り上げたい値である16.6が求められます。
・小数点をずらしたいときは、小数点第3位で切り上げたい時は100、第4位で切り上げたい時は1000…のように、10の桁数を増やしていくことで実現することができます。
例)小数点第3位の場合:ceil(value*100)/100
round()/四捨五入
概要
double round(double);
round()
は引数の値を四捨五入することのできる、数学関数の一種です。
サンプルコード
import Foundation
let value = 16.53
let roundValue = round(value)
print(roundValue)
let increasedRoundValue = round(value*10)/10
print(increasedRoundValue)
出力
17.0
16.5
サンプルコードの説明
◾️行 1: Foundation
をインポートしています。これが無ければ数学関数を使うことが出来ません。
◾️行 2: 四捨五入したい値value
を定義しています。今回はコードの中で値を再度代入しないので、let
にしています。
◾️行 3: 四捨五入した値を代入するための値roundValue
を定義しています。今回はコードの中で値を再度代入しないので、let
にしています。
◾️行 4: roundValue
を出力しています。
◾️行 5: 小数点第2位を四捨五入します。
・今回の場合だと、まず16.53を10倍した値である165.3をround()
を使って四捨五入します。
・165.3を10で割ることで、16.53が求められますが、四捨五入されるので16.5となります。
・小数点をずらしたいときは、小数点第3位で四捨五入したい時は100、第4位で四捨五入したい時は1000…のように、10の桁数を増やしていくことで実現することができます。
例)小数点第3位の場合:round(value*100)/100
まとめ
いかがでしたでしょうか?
この記事では、floor()
、ceil()
、round()
を用いて値を四捨五入したり、切り上げ/切り捨てたりする方法について解説いたしました。
ではまた、次の記事でお会いしましょう!



この記事があなたのスキルアップに役立ったなら、次のキャリアステップを踏み出す絶好の機会かもしれません。エンジニアとしてのさらなる成長と挑戦を求めるなら、未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】をオススメします!
参考記事
https://developer.apple.com/documentation/kernel/1557272-ceil
https://developer.apple.com/documentation/kernel/1557338-floor
https://developer.apple.com/documentation/kernel/1557369-round
コメント