• ベストアンサー

ファイルメーカーでの指定桁数で切り上げ

いつも質問ばかりですいません。 ファイルメーカー Pro7です。 フィールドA(数字タイプ)に整数(小数点以下はない)を 入力し、一の位が0ではない場合は切り上げて、 フィールドBに返したいのですが、 例) A.32 = B.40 , A.30 = B.30 指定桁数で切り捨ては関数Truncateがありますが、 指定桁数で切り上げの関数はないのでしょうか。 自分的には以下の関数を組んでみましたが、 他に良い手はないでしょうか。 Truncate ( A ; -1 ) + (If ( Right ( A ; 1 ) = 0; 0 ; 10 ) 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> 指定桁数で切り捨ては関数Truncateがありますが、 > 指定桁数で切り上げの関数はないのでしょうか。 ウチは諸般の事情で5.5ですが、切り上げの関数は聞いたことがな いですね。 一般的にはたとえばAが30.000000001の場合でも正しく40になるよ うに、truncate(a,-1)+if(mod(A,10),10,0)のような書き方をしま すが、Aが整数であることが保証されているなら、round(A+4,-1)で 済むはずです。

pekochanno1
質問者

お礼

ご回答有難うございます。 自分にとっては目から鱗です。 Round関数は指定桁数から四捨五入する とテキストに書いてあったので四捨五入が ひっかかり使わずじまいでしたが4足せば 必ず五入になりますね。(Aが整数になる事が前提ですが) また自分なりに考えた truncate(A,-1)+if(mod(A,10),10,0) 一般的な解答と同じということが少し自信持てました。

その他の回答 (1)

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.2

7は知りませんが、8にはあります。切り上げ関数。

pekochanno1
質問者

お礼

chieffish様いつも有難うございます。 8には切り上げ関数あるのですね(゜◇゜)ガーン Truncate ( A ; -1 ) + (If ( Right ( A ; 1 ) = 0; 0 ; 10 ) を導き出すのに結構時間かかったのに....

関連するQ&A