VB6.0に限らず,IEEE基準に従うfloatデータ型はそれ自体が既に概数です。 浮動小数点数は全ての小数を表現できないからです。 浮動小数点演算をレジスタ移動が頻発するようにコーディングしてしまうと (具体的には演算途中のデータをfloat型変数に代入を繰り返す) それだけで何度もの丸めが生じてしまい,ある意味誤差が広がることになってしまいます。 これに対応するために, ・そもそもfloatを利用しないでCurrencyを利用する ・floatを利用する場合は計算式をCDec()でDecimalキャストする ・途中計算結果を変数代入しないで一気に計算する とすると,レジスタ移動による丸め極力排除することができます...