• ベストアンサー

fortranでの出力書式設定

ご質問させていただきます。 たとえばfortranで a=1d0,b=2d0 write(*,*)a,b と書くと数字の左側に必ず空白文字が出力させるのですが、 この空白文字をなくすことはできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • 530529
  • ベストアンサー率16% (86/521)
回答No.1

書き出しの書式を指定していないので、おそらく正負(+-)の符号分と2つの数値の区切り分だと思います。 出力させたい数値の桁数が明らかであれば、format文を使って定義すれば空白を出さない様に設定する事が可能でしょう。 ただ、私はPCでのfortranの経験は無く、汎用機でプリンターへの出力していた頃のものですので使えない場合もあるかもしれません。

noname#213520
質問者

お礼

ご解答有難うございます。 仰るとおり桁数がわかれば書式設定で空白をなくすことができそうです。少し複雑になりそうですが考えて見ます。 有難うございました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

とりあえず Fortran (90以降) であるということを前提に: write(*, *) の `*' のところには文字列変数を指定することもできます. 前の `*' を文字列変数にすると「内部ファイル」(よ~するに「出力結果を文字列変数に入れる」), 後ろの `*' を文字列変数にすると「文字列変数によるフォーマット指定」になります. だから, a や b に必要な桁数を調べてその桁数からなるフォーマットをまず文字列変数に入れ, それを今度はフォーマットとして使えば表示できるはず. 例を書こうと思ったけどとても面倒な気がしたので省略.

関連するQ&A

専門家に質問してみよう