• ベストアンサー
  • すぐに回答を!

少数点以下の端数処理

少数点以下の端数処理で 少数点以下2位は切り上げ 少数点以下1位は 0.1~0.4の場合は0.5になり 0.6~0.9の場合は1.0になるようにプログラミングしたいのですが どのようにしたらいいのか教えてください 例 24.03の場合 24.03 → 24.1 ですが、0.5ずつですので、 24.1 → 24.5 になります。 ※24個と半分にしたい。 24.56の場合 24.56 → 24.6 24.6 → 25 よろしくねがいします。

共感・応援の気持ちを伝えよう!

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

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

0.0001~0.5 の場合は0.5になり 0.5001~1.0 の場合は1.0になるように ということでよいのなら b = -Int(-a * 2 + 0.00005 ) / 2 です。 0.00005は誤差に対応するために付けています。(参考URL) (もしかしたら2重入力になったかもしれません。)

参考URL:
http://www.geocities.co.jp/SiliconValley-Bay/5308/

共感・感謝の気持ちを伝えよう!

その他の回答 (7)

  • 回答No.8

2倍した数値を切り上げ、2で割れば良いですよ。

共感・感謝の気持ちを伝えよう!

  • 回答No.6

0.00000001~0.5の場合は0.5になり 0.50000001~1.0の場合は1.0になる ということでよいなら b = -Int(-a*2)/2 です。

共感・感謝の気持ちを伝えよう!

  • 回答No.5
  • web2525
  • ベストアンサー率42% (1219/2850)

エクセルの計算式で =INT(A1)+((ROUNDUP(MOD(A1,1),1)>0)+(ROUNDUP(MOD(A1,1),1)>0.5))*0.5 A1セルに元の数値が入っています、INT・ROUNDUP・MODは通常のプログラム言語でも利用可能と思われますので参考になれば

共感・感謝の気持ちを伝えよう!

  • 回答No.4
noname#111181
noname#111181

言語はVBですよね。 こんな形になります。 ------------------------------- Dim x1, x2, x3 As Double x1 = 入力値 x2 = x1 - Math.Floor(x1) If (x2 <= 0.5) Then x3 = Math.Floor(x1) + 0.5 Else x3 = Math.Floor(x1) + 1 End If x3が出力値

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • 44753
  • ベストアンサー率19% (12/63)

No.2です。 こんな感じかな。 int(a+0.49)

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • 44753
  • ベストアンサー率19% (12/63)

0.49を足して、小数点以下を切捨てる。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • 1050YEN
  • ベストアンサー率69% (477/687)

言語は? VBAであれば Officeバージョン VBであれば .net(バージョン) or vb

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 少数点以下のデータ処理

    ドルデータを格納する場合。 少数点以下のデータが考えられる場合どのように保存するのが良いですか? 例) 3ドル50セント 1)3.5と保存。 2)350と保存。表示の時に100で割って3.50とする。 どのような処理が一般的でしょうか?

    • ベストアンサー
    • MySQL
  • ファイルメーカーで小数点以下の切り上げ

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

  • エクセル2002の計算式(端数処理)

    例   〇×0.006=△ (△の答えの端数が0.5以下は切り捨て、以上は、切り上げ)    ここで出た答えからある数字を引いて答えを出したい場合    端数が0.5だと上手く表示できません      表示上では、端数が0.5の場合間違いなく切上で表示されていますが答えが切り捨てで計算されて しまいます。     ちなみに端数が0.5以外の場合(0.1~0.4の時と0.6.~0.9の時)は問題ありません

  • 端数処理(少数第n位切上げ、切捨て)の表記法について

    「少数第n位(以下)切上げ、切捨て」という表記がある場合、 切上げ(切捨て)対象になる数字は、 「第n位」で指定された数字そのものを対象にすればよいのでしょうか。 例えば、1234.5678 という少数第四位まである数値があるとします。 少数第二位(以下)を切上げする場合、 少数第二位の「6」以降を切り捨て、 小数第一位の「5」を繰り上げた「1234.6」が解となりますでしょうか。 それとも小数第二位までを残す解「1234.57」が正しいということはあるのでしょうか? (私の理解では前者でしたが) また、「少数第二位で切上げ」と「少数第二位(以下)を切上げ」では 切上げ位置の取り扱いが異なることはあるでしょうか? 更にもう一つ質問なのですが、 整数 1234.0000(通常は 1234 で表示されると思います)の場合、 少数第n位で切り上げをしても、結果は 1234 で変わりませんよね?

  • 端数処理における「小数以下」等の表記について

    端数処理をするために四捨五入や切捨てを行う場合、その正しい表記の仕方(放送や報道,公文書等における表記の仕方)はどうなのでしょうか。 (例)円周率3.14159...を「3.14」として表す場合 1 小数点第3位切捨て 2 小数点第3位以下切捨て 3 小数点以下第3位切捨て 4 小数第3位切捨て 5 小数第3位以下切捨て 6 小数以下第3位切捨て 7 その他 (また、例えば1の場合に『小数点第3位「を」切捨て』のように、「を」が入るのかどうかも悩ましいです)

  • エクセルで端数処理をする関数について

    お世話になります。 エクセルで、任意の端数処理をする関数を教えてください。 1の位と小数点第1位が以下のとき、1の位を次の数に端数処理したいのです。 2.5未満 → 0.0(切り捨て) 2.5以上~7.5 → 5.0 7.5以上 → 10.0(繰上げ) (例) 101.1 → 100.0 202.2 → 200.0 303.0 → 305.0 404.4 → 405.0 508.6 → 510.0 ・・・・・ どなたか教えてください。 よろしくお願いいたします。

  • 個体数推定における端数処理(四捨五入・切り上げ)

    調査で魚類の生息密度を求めているのですが、端数の丸め方に困っています。 以下の認識に基づき、どの端数処理をしたらいいのか・・・ 四捨五入=元のデータに不確かさが含まれない場合、最も誤差が小さい 切り上げ=元のデータに誤差や不確かさが多分に含まれる場合や、安全性を重視する場合 切り下げ=四捨五入や切り上げにより、数字が誇張される場合、切り下げる 魚類の捕獲調査自体に多分な誤差や不確かさが含まれるので、『切り上げ』が適しているのではないかと思っております。 ただし、多くの論文では、端数を『四捨五入』しています。 端数を切り上げている論文が見つからず、切り上げて良いものか悩んでいます。 具体的には以下の結果が出ており、 カジカ 12.12尾/100m2 イワナ  0.47尾/100m2 整数値をもとめるために四捨五入してしまうと、イワナの生息密度が0尾/100m2となってしまいます。 稚拙な質問で恐縮ですが、ご教示いただけましたら幸いです。

  • 整数と少数の端数の考え方

    整数と小数とを混在させて表記した場合の端数の取り扱いについてお伺いします。 A、B、Cの3つの箱の中にリンゴとナシが次のように入っていたとします。   リンゴ ナシ  A 11個 13個  B 12個 12個  C 24個  0個 それぞれの箱の中に占めるリンゴの割合として、次のように表記しました。  A 84.6%  B 50.0%  C 100.0% この表記に関して、ある方から、  「50.0%」「100.0%」と表記した場合、小数点第二位以下に端数がある可能性が出てくるため、   A 84.6%   B 50%   C 100%  と表記すべきだ。 との意見を頂きました。 「整数と小数とが混在して表記されている場合、  整数には、端数がある可能性はないが、  小数には、端数がある可能性が出てくる」 という考え方を初めて耳にしたのですが、これは数字を扱う上で基本的なことなのでしょうか? 教えていただければと思います。

  • 小数点以下での切り捨て処理

     切り捨て処理での計算で端数が入り込み苦慮しています。  INT()関数を使用していますが、積算で対処できないものは加算で対応していましたが、負(マイナス)の数字を扱う段になってハタと頓挫しています。 何方か処理方法を教えていただければ助かります。  計算例    -10,094 の8割は ROUND(***、1)で何とか端数処理凌いでいます。  ところがその5%(10094×0.8×0.05の場合)では、どうしても 803.75の端数が切り捨てられません。 3%や他の数字では可能でもこれがクリアできずに困っています。  宜しくお願いします。    

  • 消費税の端数処理について

    消費税の端数処理について 「四捨五入」「切り上げ」「切捨て」と企業側が任意で選択出来るのは知っていますが、 実際、多くの企業で選択されているのは、どの方法でしょうか? よろしくお願いします。