私はPythonに実際の値のFORTRAN出力を複製させようとしています。私のFORTRANは "31380"と実際の値を表示します。私はPythonで同じものを複製しようとしています - 小数点以下の桁はありませんが、小数点(ピリオド)を実際に印刷します。現在のコードは浮動小数点数を小数点なしで書く
htgm=31380.
print '{:6.0f}'.format(htgm)
で、「31380」となります。私は間違って何をしていますか?
私はPythonに実際の値のFORTRAN出力を複製させようとしています。私のFORTRANは "31380"と実際の値を表示します。私はPythonで同じものを複製しようとしています - 小数点以下の桁はありませんが、小数点(ピリオド)を実際に印刷します。現在のコードは浮動小数点数を小数点なしで書く
htgm=31380.
print '{:6.0f}'.format(htgm)
で、「31380」となります。私は間違って何をしていますか?
htgm
の型を保持するPythonはfloat
とすることはできません。あなたはstr
としてそれを作るとOKしている場合は、あなたが行うことがあります。
htgm=31380.
'{0:.0f}.'.format(htgm)
# returns: '31380.'
# OR, even simply
'{}.'.format(int(htgm))
をPythonの形式言語はフォーマット文字列中に「#」を使用して小数点を強制的に浮動小数点数のための「代替」形式が含まれています
>>> htgm=31380.
>>> format(htgm, '#.0f')
'31380.'
私はあなたが探していると思います。
私は#g
はあなたが欲しかったものだろうと思ったが、何らかの理由でPythonは背面に0
を追加します。
>>> htgm=31380.
>>> format(htgm, 'g')
'31380'
>>> format(htgm, '#g')
'31380.0'
これはPython 3でのみ利用できますか? –
'#'はPy> 2.6以降に存在していましたが、floatの代替フォームはPy3で追加されたように見えます。 – AChampion
あなたが番号を表示する必要がある場合には、使用:
print(str(htgm)[:-1])
この表記は剃り落とすます最後の '0'。
フォーマット文字列に '.'を追加するのはどうですか? '' {:6.0f}。 ''フォーマット(htgm) ' – falsetru