以下のマクロを実行してもxが0.05の時にループが終了してしまいます。それとメッセージテキスト1に1E-02とか表示されてしまいます。xが0.06の時にループ内の計算が行われるようにしたいのと、メッセージテキスト1に0.01,0.02,0.03,0.04,0.05,0.06と全部表示されるようにするにはどうすればいいですか?xはパーセンテージを表したいので、小数第2位までの小数だとします。
sub Macro3
dim x as double
for x = 0.01 to 0.06 step 0.01
msgbox x 'メッセージテキスト1
msgbox x + 1 メッセージテキスト2
next x
end sub
小数第2位の数値がマクロで表示できない
小数第2位の数値がマクロで表示できない
OpenOffice.org 3.2.1
OOO320m18
Windows xp
OOO320m18
Windows xp
Re: 小数第2位の数値がマクロで表示できない
どうもMsgBoxのダイアログで表示フォーマットが自動的に指数表記になっているようですね。
計算上は支障ないと思いますが、表示上で何か問題になるようでしたら、独自のダイアログを作成するのがてっとり早いかな、と思います。
また、ループのカウンタに倍精度を使うのはあまり見たことがありません。ループカウンタは普通の整数を使い、
ループの中で倍精度の計算をするのが普通かなと思います。
試しにサンプルを作ってみました。(Mainを実行するとダイアログが表示されますのでボタンを押してみてください)
計算上は支障ないと思いますが、表示上で何か問題になるようでしたら、独自のダイアログを作成するのがてっとり早いかな、と思います。
また、ループのカウンタに倍精度を使うのはあまり見たことがありません。ループカウンタは普通の整数を使い、
ループの中で倍精度の計算をするのが普通かなと思います。
試しにサンプルを作ってみました。(Mainを実行するとダイアログが表示されますのでボタンを押してみてください)
- 添付ファイル
-
- fugafuga.ods
- (9.34 KiB) ダウンロード数: 441 回
OpenOffice.org3.3ではどうなりますかね....
指数表記になるのも困惑しますが、もっと困惑しているのがFor...Next ループの実行回数です。単精度変数か倍精度変数をループカウンタに使うと、1回分実行回数が足りなくなります。OpenOffice.org Basicのサンプルコードを添付します。ループカウンタが単精度変数のFor...Next ループの実行回数、ループカウンタが倍精度変数のFor...Next ループの実行回数、ループカウンタが整数変数のFor...Next ループの実行回数を比べられるサンプルコードとなっています。
ループカウンタを整数に、とのことですがhttp://docs.sun.com/app/docs/doc/819-1332/faanp?l=ja&a=view
にFor...Next ループのループカウンタの増分値を 0.5(単精度変数か倍精度変数)にしたサンプルコードが紹介されています。
ループカウンタを整数に、とのことですがhttp://docs.sun.com/app/docs/doc/819-1332/faanp?l=ja&a=view
にFor...Next ループのループカウンタの増分値を 0.5(単精度変数か倍精度変数)にしたサンプルコードが紹介されています。
- 添付ファイル
-
- OpenOffice.orgBasic.zip
- (415 バイト) ダウンロード数: 403 回
OpenOffice.org 3.2.1
OOO320m18
Windows xp
OOO320m18
Windows xp