■No43700 (みきぬ さん) に返信
>>> 小数第3~4位くらいまで扱える、遅くない数値型がほしいなと思って
> # しかし真面目に作ろうとすると、かなり骨が折れますな、これ
そもそも、System.Decimal の処理速度面でどの程度の不足を感じていて、
それをどの程度にまで高速化したいのかを明らかにしておかないと、
「作ったは良いけど、かえって低速になってしまった」ということもありそうです。
>>> 旧VB の Currency 型がほぼそのまんまであることがわかりました。
>>> 内部的には、10000倍して long で持つ感じでよさそうです。
そのままで良いのであれば、OLEAUT32.DLL の VarCyFromI4 や VarCyFromStr API を使うと、
VB で言うところの Currency を生成する事ができます。
また、VarCyAdd/VarCyMul/VarCyFix/VarCySub/VarCyCmp 等を用いて
それを演算する事もできます。……あまり意味はありませんが。
|