- ベストアンサー
fortranでの出力書式設定
ご質問させていただきます。 たとえばfortranで a=1d0,b=2d0 write(*,*)a,b と書くと数字の左側に必ず空白文字が出力させるのですが、 この空白文字をなくすことはできるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
書き出しの書式を指定していないので、おそらく正負(+-)の符号分と2つの数値の区切り分だと思います。 出力させたい数値の桁数が明らかであれば、format文を使って定義すれば空白を出さない様に設定する事が可能でしょう。 ただ、私はPCでのfortranの経験は無く、汎用機でプリンターへの出力していた頃のものですので使えない場合もあるかもしれません。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
とりあえず Fortran (90以降) であるということを前提に: write(*, *) の `*' のところには文字列変数を指定することもできます. 前の `*' を文字列変数にすると「内部ファイル」(よ~するに「出力結果を文字列変数に入れる」), 後ろの `*' を文字列変数にすると「文字列変数によるフォーマット指定」になります. だから, a や b に必要な桁数を調べてその桁数からなるフォーマットをまず文字列変数に入れ, それを今度はフォーマットとして使えば表示できるはず. 例を書こうと思ったけどとても面倒な気がしたので省略.
お礼
ご解答有難うございます。 仰るとおり桁数がわかれば書式設定で空白をなくすことができそうです。少し複雑になりそうですが考えて見ます。 有難うございました。