|
WindowsXP,7, Excel2010,2013です。
Excelシート上のセルの値(小数点以下1ケタ)の整数値を取得しようと
int関数を利用しましたが、
69.0→int(セルのvalue)→68 となってしまう現象が発生して、原因が
わからず困っています。
セルの値は別の3列の合計値です。データが多いので、シートをいったん
メモリ上に展開して、variantの配列をコード上で地味に足し算して
合計列用の配列(1列分)variantに格納し、合計列を張り付けています。
3列のセル値は、 26.4 40.8 1.8 です。合計列には69.0となります。
その後、int関数でセル値を処理すると68となってしまいます。
ちなみに、5.3 17.3 7.4 を足して合計30.0になった箇所はintしても30と
返ります。
問題の個所は、int以外にfixでも68となります。
転記前の型をdoubleの配列にしても同じです。
セルに直接69と入力して、int(セルのvalue)とすると、69となります。
原因と解決策を探しています。
Valueは同じだけれど、何か違う値が入っているのだと思いますが、
それを調べる手段もわかればいいのですが・・・
どうぞよろしくお願いします。。
|
|