掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
数の割り算で「nnn.999・・・」を「nnn」にするには? (ID:17154)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっています。 「FMTBcdユニット」を使って[例]を参考にしてやってみました。 うまく行きました、手元のデータでは完璧に処理しています。 以下がその抜粋です。 ============================== If BcdCompare(Max_n , P1_n) = -1 then Max_n := P1_n; If BcdCompare(Max_n , P2_n) = -1 then Max_n := P2_n; If BcdCompare(Max_n , P3_n) = -1 then Max_n := P3_n; If BcdCompare(Max_n , P4_n) = -1 then Max_n := P4_n; If BcdCompare(Min_n , P1_n) = 1 then Min_n := P1_n; If BcdCompare(Min_n , P2_n) = 1 then Min_n := P2_n; If BcdCompare(Min_n , P3_n) = 1 then Min_n := P3_n; If BcdCompare(Min_n , P4_n) = 1 then Min_n := P4_n; BcdSubtract(Max_n , Min_n , Def_n); BcdAdd(P1_n , P2_n , BCD_A); BcdAdd(P3_n , P4_n , BCD_B); BcdAdd(BCD_A , BCD_B , BCD_C); BcdDivide(BCD_C , 4 , Ave_n); Str_Ave := BCDToStr(Ave_n); Str_Def := BCDToStr(Def_n); ============================== 最初、普通の IF 文でやっていたらエラーになり、調べたら 専用の BcdCompare が有ったので、それを使ったらすべてうまく 行きました。 IF 文の「=-1」と「=1」は 後々の理解のため明示しときました。 Mr.XRAY さんには色々と教えていただき、有り難うございました。 これで、解決しました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.