VB2005で1E−3の様な指数部付きの定数を代入すると
1E−3は自動的に0.001に変換されてしまいます。
型指定の記号を付けると変換されないときもあります。
表示の変換を止めるオプションなどは有るのでしょうか?
Dim a as Single
a=1E−3 ←0.001と変換されます
a=1E−12F ←変換されません
a=1e−10F ←0.000・・1に変換されます
よろしくお願いします
>定数を代入すると
なにに代入するのでしょうか?
Single型の変数 aに1E−3など指数付きの小数を代入又は
計算させています。
a=1E−3
a=1.2/1E−3
などのコードがVB2005では、下記の様に自動的に変わってしまいます
a=0.001
a=1.2/0.001
電子回路の計算をさせていますのでmA(−3乗)、uA(−6乗)など
指数はそのまま残しておきたいのです。
よろしくお願いします。
[ツール]→[オプション]→[テキストエディタ]→[Basic]→[VB固有]
を選択し「コードの再フォーマット」のチェックを外す事で一応は勝手に変換される事を防げると思います。
※当方の環境はVisual Studio2008Proなのでメニューの名称など、多少の違いはあるかも知れません。
ただ、これはIDEの便利機能なので、チェックをOFFにする事で今までは自動的に調整されていたアレコレがされなくなる、といった弊害が出ると思います。
実際、どの程度の違いが出るかはやってみなければ分らないとは思いますが・・・
「コードの再フォーマット」の内容がMSDNにあったので合わせて載せておきます。
http://msdn.microsoft.com/ja-jp/library/y0y5th94.aspx
注釈行での対応が一般的でしょうね。
皆様ありがとうございました
さっそく「コードの再フォーマット」のチェックを外して
試してみました。
指数付きの小数は、思い通りになりましたが弊害も大きく
小数の表示よりもそのほかの便利機能を優先するほうが
良さそうです。
ありがとうございました
ツイート | ![]() |