| ■96997 / ) |
Re[9]: 数値書式指定文字列からの変換 |
□投稿者/ 大谷刑部 (135回)-(2021/03/11(Thu) 14:34:46)
|
■No96991 (ゆい さん) に返信 > ■No96990 (shu さん) に返信 > > ありがとうございます。 > >>Dim d As Single = CSng("4.2444972e-07") >>Dim s1 As String = d.ToString("N20") >>t(0) = CSng(s1) > このようにしても t(0)の値は4.244497E-07にはなりませんか? > "0.00000042444970000000"にしたいのです。
そもそも小数部に精度をもとめるならDecimal一択ですよ。 弁さんがおっしゃっているように、SingleもDoubleも2進数で保持してるので誤差が起こるのは必然です。 ただし、演算速度はSingle,Doubleの方が速いです。 なので地図の座標、それを応用した軍事目的の標的特定などは2進数で計算するのが適してますね。細部の精度より速度重視なので。 対して金融システムの計算は2進数型の使用は本来ご法度ですね。 現実の金融システムでSEの無知によりDoubleが多用されているのは案外見かけますが。
|
|