【Access関数】Fix関数とInt関数の違い|構文・具体例

入門講習

Accessには、小数点のある値を整数化するための方法がいくつかありますが、その中でもよく使われるのは次の2つの関数です。

  • Fix関数
  • Int関数

この2つの関数は、ともに整数の小数部分を切り捨てる関数ですが、負の数を処理したときの挙動が異なります。
この記事では、両者の違いと使いどころをわかりやすく解説します。

Fix関数とInt関数を比較する

相違点

まず違いを簡単に比較してみましょう。

項目Fix関数Int関数
基本動作小数点以下を単純に切り捨てる小数点以下を切り捨てる
正の数の場合Intと同じFixと同じ
負の数の場合絶対値が小さくなる方向に丸める
(-2.8 → -2)
絶対値が大きくなる方向に丸める
(-2.8 → -3)
直感的な理解“見たまま切る”“下に落とす”

つまり、2つとも小数点以下を切り捨てるという点では同じ働きをしますが、対象の値が負の数の場合、丸め方が異なります。

「絶対値」というのは、マイナス/プラスを問わず、数が 0 からどれだけ離れているかを表す値です。

具体例

実際の数値について、2つの関数で処理した結果をみてみましょう。

元の値Fix関数Int関数
7.977
2.422
0.800
-0.80-1
-4.3-4-5
-2.5-2-3

ご覧いただいた通り、正の数については Fix関数・Int関数のどちらも、小数点以下を単純に切り捨てます。

一方で、負の数に対する Int関数は、「絶対値に変換してから丸める」というように見える動きをします(例:-0.80.8)。そのうえで、小数点以下を切り捨てた結果が元の値よりも小さくなる方向、つまり絶対値が大きくなる方向へ丸めます(0.81)。
そのため、-0.8Int関数に渡すと結果は -1 になります。

構文

Fix関数

基本構文

Fix(数値)

《引数》

引数説明
数値整数に丸めたい数値または式

単純な数値の他に、

  • Int(10 / 3)
  • Int(Rnd() * 100)

のように、式や関数を使ったパターンにも対応可能です。

Int関数

基本構文

Int(数値)

《引数》

引数説明
数値整数に丸めたい数値または式

使い分けの基準

状況選ぶべき関数
見た目通りの小数点部分を落としたいFix関数
数学的な丸めが必要(floor処理)Int関数

数学におけるfloor(フロア)処理とは、「床関数(ゆかかんすう)」と呼ばれる関数の処理のことです。
floorは床という意味ですが、数字を必ず 下の段(床の方へ) におろすイメージとなります。

今回ご紹介したそれぞれの違いを認識したうえで、使い分けていきましょう。単純に小数を整数化するのであれば、実務向きな単純切り捨てを行うFix関数がおすすめです

また、Accessには四捨五入を行うRound関数ありますので、そのあたりも使い分けの選択肢に入ってくると思われます。Round関数は別記事で解説予定です。

まとめ

  • Fix関数とInt関数の違いが出るのは負の数
  • Fix関数は0方向に丸める絶対値が小さくなる方向
  • Int関数はより小さい方向に丸める絶対値が大きくなる方向
  • 実務では Fix関数がおすすめ


・Accessで業務用ツールを作ってみたいけど、なかなか時間がとれない。
・先輩が作った既存のツールを改修したいけど難しい…。
そのような場合には、私がみなさまの代わってカタチにいたします。ぜひ作成サービス
をご利用ください。

オーダーメイドのAccessツールをお作りします ふんわりした相談からでもOKです! | ココナラ
Accessに関する様々なご要望に対応いたします。日頃このようなお悩みやありませんか?✅業務用ツールの新規開発や改修が必要 ✅既存のAccessツールが使いに...

タイトルとURLをコピーしました