>Double型について入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。10:57回答数:8件ずっと疑問でした、教えて下さい。その疑問を解き明かさなければ次に行けない事になりました。最後の6ってなんですか?この結果で比較をすると、たまにはじかれる処理が出てくるのです。ホントは0.0015でしょ?他に良い方法があれば合わせてどうぞ宜しくお願いします。通報するこの質問への回答は締め切られました。20:56またまた、話を付け加えますと、DecimalはVariant型の内部処理形式でしか使えません。Currencyで直接宣言した通貨型よりも多少演算速度が遅れます。リテラル値でとして0.10000000000000000000000001と書いた後CDecで変換しても、0.10000000000000000000000001はDouble型ですから、かってに0.1に丸められます。それもCDecしても0.1のままです。3つ目の文のように文字列は正確に変換してくれますが、2個目の文のように計算する必要はないものの、文字列という超低速の形式からの変換ですから、速度は最も下です。割り算をするとDecimal型であっても演算結果がDoubleになってしまったりと障害は多いですが、精度の高さだけがウリです。演算速度が遅いと言っても、1000回や10000万回の計算では気になるほどではありません。VB6になって、始めてDecimalを見つけたときは、おもしろくていろいろ遊んでみました。HUKAHIREさんも、いろいろな式を書いてみて、いろいろ試してみてください。16の指数形式は、ミニコン関係ありゃ、すいません。いい加減なことを言ってしまったようです。整数でもいいですけど、DecimalもCurrencyも有効桁数だけならDoubleよりLongより上ですよ。演算速度遅いですけどね。Longで計算して割り算するのとあんまり変わりません。通報するこの回答へのお礼みなさん本当にありがとうございました。いろいろな方法で試してみましたがDecimalも不具合が出ないっぽいので採用かなと考えています。(16進数×16の自然数乗)言語によるのかも知れませんが、Cを使っている場合は2の指数形式、IEEEの形式ですね。16の指数形式は、ミニコン関係で経験があります。あと、自然数乗となってますが、正確には整数ですね。負の値もありますから。精度が必要で言語でそういう型が無い場合はTAGOSAKU7さんが言うような形で整数として扱います。通報するこの回答へのお礼みなさん本当にありがとうございました。いろいろな方法で試してみましたがDecimalも不具合が出ないっぽいので採用かなと考えています。16:31DecimalはVariant型の内部形式でしか使えませんが、0と0.0000000000000000000000000001~79,228,162,514,264,337,593,543,950,335の10進数を扱えるので、Currencyよりびっくりです。doubleのように指数を使って大きな数値を表すことはできませんが。15:52ごめんなさい。8桁なら1億倍ですね。cdec(0.7000))の出力値は確かに0.015でした。