- ベストアンサー
式の意味
ACCESSというデータベースに以下のような式が入っていたのですが、どのような計算をしているのか分かりません ご教授して頂けたら幸いです。 (([休日時間]+[普通時間]+[深夜時間]-1)\5+1)*5
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#24477
回答No.2
具体的な数で考えて見ましょう。 話を簡単にするために分単位の端数は無いとします。 [休日時間]+[普通時間]+[深夜時間] =4のとき (4-1)を5でわって0(¥5は余り切り捨てです) これに1をたして5倍すると 答5 =5のとき (5-1)を5で割って0 これに1を足して5倍すると 答5 =6のとき (6-1)を5で割って1 これに1を足して5倍すると 答10 つまり5の倍数を基準に切り上げる計算です。 1を引いてから5で割って、改めて1を足すのは 余計なことをしているように見えますが ちょうど5の倍数のとき繰り上がってしまわないように 工夫をしているわけです。
その他の回答 (2)
- nandarou-1011
- ベストアンサー率50% (65/128)
回答No.3
\は商を求める演算子で、整数値を返します。小数点以下は切り捨てです。(#2の回答にもその点が含まれていますよ。)それに対しMODという余りを求める演算子もあります。 今回の場合、 7-1=6 6 割 5=1 余り 1 1+1=2 2*5=10 となります。
- nandarou-1011
- ベストアンサー率50% (65/128)
回答No.1
休日、普通、深夜のそれぞれの時間を足した数を5の倍数で切り上げる式です。 普通でしたら、5で割って切り上げた後に5を掛ければよいと思うのですが、ちょっと分かりにくい書き方をしていますね。 ちなみに¥は商を求める演算子です。
補足
ご返事有り難うございました。 理解不足ですいませんが 再度ご質問させて下さい 休日、普通、深夜のそれぞれの時間を足した数が7だとしますよね。切り上げと言うことで10になると思うのですが、 7-1=6 6/5=1.2 1.2+1=2.2 2.2*5=11 に、10にならないのですが・・・。 頭が悪くてすいませんが ご教授して頂けたら幸いです。