掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
丸め誤差2 (ID:115241)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
魔界の仮面弁士 さんありがとうございます 一応調べてみたり、無理やり計算させてみたりするも 今度は別のどつぼにはまりました・・・ もちろん通貨型を使用し対策を!というのは考えていました ぶち当たった現象は・・・ X = FIX(A / B * C) という値の丸めについて この時のXは整数値のみ取得したいのでFIXを使用しています ABCXを全て通貨型に宣言しなおして 以下の式に書き換え X = FIX(CCur(A / B * C))と直してよっしゃ!などとぬか喜びしていたら あるところで X = FIX(CCur(A * C / B))という式が出てきました なぜこの二つの式の演算結果が異なってくるのでしょう? また、通貨型は小数4桁ですよね? ということは 10.99995なんて数字は11になってしまうのでしょうか? それだと結局本末転倒・・・ 丸めがある以上正確に表現できないor.Netに切り替えてDicimalでも使え! という話もあるでしょうが 現状VB6なのでここまで行くとどうしようもないのでしょうか? 長くなりましたが、やりたいことは 割り算と掛け算、小数も出てくる演算がしたい! 整数部のみ取得したい!(その際小数は切り捨て) vbは6で開発! これ以上はどうしようもない!というところは本当にどうしようもないと思いますので仕様! 薄々お気づきかと思われますが、お金の関わっている仕事です・・・ 1円ずれると・・・(泣)なんです・・・ よろしくお願いします・・・
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.