ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

小数部の切上げについて

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2008-9-5 22:09
itoma  新米   投稿数: 12
小数部の切り上げについて

皆さんMAGICでどのように行われているでしょうか。
四捨五入や切捨ては、関数としてデフォルトでMagicに用意されているのですが、この度、仕様上、計算結果の小数部切り上げを考慮しなければならないようなプログラムを作成することとなり、どうやったらMagicで容易に切上げ計算を行えるか考えております。

みなさんは切上げをどのように実施されていますか?
既に実施されていらっしゃる方おりましたらお知恵をお貸し下さい。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-9-5 23:01
nkmt  長老   投稿数: 1668
小数点第1位で切上げでしたら
0.9を足した結果をFIX(計算結果,10,0)

1.35678+0.9=2.25678 → 2

1.9+0.9=2.8 → 3

FIX(計算式,10,0)とか。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-9-8 8:23
EijiNagai  常連   投稿数: 65
私の場合は、切り捨てて同じでなかったら最終桁を+1になるようにします。

例えば切り上げて小数点2桁にする場合、

if(a=fix(a,10,2),fix(a,10,2),fix(a,10,2)+0.01)

の様な感じです。(整数部は仮に10桁にしています。)
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-9-10 23:13 | 最終変更
atushi  半人前 居住地: 長野県  投稿数: 30
私は、以下の式を使用しています。
値がマイナスの場合も対応しています。

(式) 値の整数部桁数が、9桁の場合
FIX(値,9,桁)+IF(値=FIX(値,9,桁),0,IF(値<0,-1,1)/10^桁)

(例)
[値]-111.0420

(1) 小数点第1位切上げ[答えは、小数部0桁][桁:0]
[答]-111+(-1/10^0)=-111-1=-112

(2) 小数点第2位切上げ[答えは、小数部1桁][桁:1]
[答]-111.0+(-1/10^1)=-111-0.1=-111.1

(3) 小数点第3位切上げ[答えは、小数部2桁][桁:2]
[答]-111.04+(-1/10^2)=-111.04-0.01=-111.05

(4) 小数点第4位切上げ[答えは、小数部3桁][桁:3]
[答]-111.042+(0)=-111.042

(5) 1の位切上げ[桁:-1] ※整数部の切上げも可能
[答]-110+(-1/10^-1)=-110-10=-120
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約