• 締切済み

切り上げ 切り捨て

初歩的な質問で申し訳御座いません 除算した結果、小数が発生する場合があるのですが  その小数部を   条件(1)の時は切り上げ、条件(2)の時は切り捨て   したいのですが VBに切り上げ、切り捨て関数があるのでしょうか? 無い場合、具体的にどのように対応すればいいのでしょうか? 以上、よろしくお願いします

  • nao0
  • お礼率10% (50/483)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

roundやroundup,rounddownなどの関数のない言語でも,int関数は存在することが多く、少数以下第1位を問題にしている例を仮に考えると 四捨五入--int(a+0.5) 切り捨て--int(a) 切り上げ--Int(a+1.0) で代用できないか考えて見てください。 正の数の時は上記で良いが、負の数があるときはFixが あれば使えるかどうか、無ければ、正負の場合わけをして適当な式にする必要があるでしょう。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

Round : 四捨五入 Int:切捨て Fix:切捨て IntとFixの違い Int-99.2→-99 Fix:-99.2→-100 切り上げ関数はありませんが切捨て関数を利用して作ればいいです。 Public function UserRoundUp (byval A as double) as double if cdbl(int(A))=A then UserRoundUp = A else UserRoundUp = int(A) + 1 end if end funtion

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

参考URLのソースを参考にしてみてください。

参考URL:
http://www.geocities.co.jp/Playtown-Dice/9019/HIROVB02.html

関連するQ&A

  • 切り上げ?

    すごく簡単なことを聞いて申し訳ないのですが、6.1を切り上げすると、7になるというのがよく分かりません。 後、例えば48.48とあるとして、小数点以下切り上げとあれば、此の場合49になったりするのでしょうか? 切捨ては分かりますが、切り上げの原理が分かりません。どなたかお願いします。

  • 切捨てのできる電卓

    例えば、計算の結果が小数点第3位以下で切り捨てできるような電卓を探すには、ラウンドセレクターと小数点セレクターが付いた電卓を買えばいいのでしょうか。 2,000円までであるでしょうか。 できるだけ安いのがいいのですが、具体的なメーカーや型番をご存知なら教えて欲しいです。 よろしくお願いします。

  • ROUND関数…小数点第2位で切り上げ・切り捨て

    お世話になります。 Excel2003を使用しています。 計算結果の数字を別セルに・・・97.759はROUNDUP(97.759,1)で97.8 同様に…103.103はROUNDUP(103.103,1)で103.2になりますが、本当は103.1としたいのです。 →小数点第2位が0の時は「切り捨て」1以上は「切り上げ」したいのです。 IF(「小数点第2位が0」,ROUNDDOWN(103.1,1),ROUNDUP(103.1,1)) で、いいかと思うのですが、「小数点第2位が0」の条件がうまくあらわせないため、完成できません。ROUNDを使ってもできそうだとは思うのですが、ちょっとだけ焦りも加わり、なかなか整理ができません。この考え方はあっているでしょうか?皆様のお力を貸していただければありがたいです。 ちなみに… セルの表示形式は「数値」 小数点以下の桁数は「1」 負の数の表示形式は「-1,234.0](今回、数値は負になることは有りません。)

  • EXCEL計算結果の切り上げと切り捨て

    EXCELのROUND関数の件で質問です。 計算結果が、正の数になった時には、小数点以下を切り上げして 負の数になった時には、小数点以下を切り捨てるという式をセルに入れたいのですが ROUND UPとDOWNの組み合わせがよくわかりません。 計算結果が、1583.4の時は1584として、-836.7の時は-836としたいのです。

  • 「切り捨て」について

    小数点以下を切り捨てて整数にするとします。 当然のことながら、 0.1→0 0.5→0 1.4→1 1.5→1 2.1→2 2.9→2 という具合になりますよね。負の値も同じです。 -0.1→0(-0とは言いませんよね?多分。) -1.5→-1 -2.3→-2 -2.9→-2 このように、単に「表示桁を少なくする」だけですよね。 先ほど、もうひとつ切り捨て法があることを知りました。 正の値の場合は上記と同じですが、負の値の場合は、 -0.1→-1 -1.5→-2 -2.3→-3 -2.9→-3 というやり方です。 いってみれば、「より小さい整数値にする」ということでしょうか。 Excel関数でいうと、前者が「ROUNDDOWN」、後者が「INT」ですよね。 さて、質問が二つあります。 一つ目は、私は、一般社会生活上の「切り捨て」とは、Excelでいう「ROUNDDOWN」のことだと認識しているのですが、これでよいでしょうか? 二つ目は、Excelでいう「INT」に相当する「切り捨て」をする場面とは、どういう場合なのでしょうか?事例があれば教えてください。

  • 切捨て関数を使わずに小数第2以下を切り捨てて表示する方法

    SQL文で、切捨て関数を使わずに小数第2以下を切り捨てて表示する方法を教えてください。 23.27%が今23.3%で表示しているので、23.2%と表示したいのです。 サンプルで以下のものはありますが、 3.000 / 8.000 通常の計算式 ( 3.000 * 10 mod 8.000 / 10 ) 小数第2以下を切り捨て ここで10をかけて10で割る意味が分かりません。 さらに結果をパーセンテージで表示した状態で、小数第2以下を切り捨てて表示したいので、 この計算式では無理なのかな・・と思います。 アドバイス頂けると助かります。宜しくお願いします。

  • ファイルメーカーで小数点以下の切り上げ

    ファイルメーカーで小数点以下の切り上げをするに、どのような関数を使えばよろしいでしょうか? 四捨五入と切り捨ては標準であるのですが、切り上げが見当たらず、またどのように計算を組めばよいか分からず困っています。 わずかでも小数点以下の端数が発生した場合に、整数に切り上げる処理をしたいと思っています。(例としては10.001→11) ファイルメーカーの使用バージョンは9です。

  • エクセル 1000の位での切り捨て・切り上げ方法

    エクセルで下記()内のように1つのセルに掛け算を入力しました。 (E10のセルに「=E4*C10」) その計算結果の千の位の数字を切捨て・切上げ表示を出来るように設定したいのですが、方法がわかりません。 ROUND関数を使用すればいいのでしょうか? その場合、掛け算はどのように表記すればいいのかわかりません。 ご存知の方がいらっしゃいましたら、教えてください。 宜しくお願いします!!

  • エクセル 切捨て関数

    エクセルで下記の関数を使用した場合、計算結果が切捨てされません。このような場合に切捨てをする場合はどのようにするのでしょうか。 ROUNDDOWN(A1*A2/A3,-3) A1は1581000 A2は1365000 A3は1785000 計算結果は1209000になります。 実際の計算結果は1208999.99999… 計算結果を1208000にしたいのですが。

  • VB6 丸めるとは?

    VB6で、 Mod演算子のMSDNヘルプを見てみると、 「演算結果は整数に丸められる」 とあります。 例として19 Mod 6.6は5.8ですが5になってしまいます。 また、CInt関数について同じくヘルプで調べてみると、 「少数部分は丸められます」 とあり、CInt(5.8)とすると6となってしまいます。 質問なのですが、 「丸める」と一口にいっても、四捨五入したり、切り捨てたりといろいろあるのだという認識であっているでしょうか? CIntなら小数部は四捨五入され、Modならいかなる数字であろうと小数部は切り捨てられる、ということでよいでしょうか?

専門家に質問してみよう