Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで浮動小数点数を固定幅にフォーマットする方法を解説

文字列フォーマットで固定幅を指定する

Pythonでは、文字列フォーマット機能を使うことで、浮動小数点数(float型)を任意の固定幅に整形して表示できます。たとえば、小数点の位置を揃えるために「全体の幅を12文字」「小数点以下を4桁」に指定したい場合は、format()メソッドを次のように使います。

>>> x = 12.35874
>>> print("{:12.4f}".format(x))
     12.3587

書式指定 {:12.4f} のうち、「12」が出力全体の幅(文字数)、「.4f」が小数点以下4桁の浮動小数点数であることを意味します。デフォルトでは右詰めで表示されるため、複数の数値を出力しても小数点の位置がきれいに揃います。

%演算子(文字列補間)を使う方法

同じ結果は、従来からある%演算子による文字列補間でも得られます。

>>> x = 12.35874
>>> print("%12.4f" % x)
     12.3587

%12.4f は「幅12・小数点以下4桁」という書式指定です。なお、"% 12.4f" のように % の直後にスペースを入れると、符号用のスペースフラグとして働き、正の数の前に半角スペースが1つ挿入されます。

f文字列を使う方法(Python 3.6以降)

Python 3.6以降では、より簡潔で可読性の高いf文字列(フォーマット済み文字列リテラル)も利用できます。

>>> x = 12.35874
>>> print(f"{x:12.4f}")
     12.3587

左詰め・ゼロ埋めなどのバリエーション

揃え方向や埋め文字も自由に指定できます。< を付けると左詰めになり、0 を幅の直前に付けるとゼロ埋めになります。

>>> print("{:<12.4f}|".format(x))
12.3587      |
>>> print("{:012.4f}".format(x))
0000012.3587

このように、書式指定の構文は format() メソッドとf文字列で共通しているため、コードのスタイルに合わせて使い分けるとよいでしょう。

  1. Pythonで数値を逆順にする2つの方法【文字列変換と数学的処理】

    整数の桁を逆順に並べ替える(数値の反転)処理は、Pythonでは比較的簡単に実装できます。アルゴリズムの学習やコーディングテストなど、さまざまな場面で数値を反転させる必要に迫られることがあります。入力:12345 出力:54321Pythonで数値を逆順にする方法は、主に以下の2つがあります。数値を文字列に変換し、文字列を反転させてから再び整数に戻す方法文字列に変換せず、数学的な演算だけで反転させる方法方法1:文字列に変換して反転するこの方法は最もシンプルで、複雑なロジックを考える必要がありません。数値をstr()で文字列に変換し、スライス記法[::-1]を使って文字列を反転させた後、int(

  2. Pythonで与えられた数値がフィボナッチ数かどうかを判定する方法

    本記事では、与えられた数値がフィボナッチ数であるかどうかを判定する問題の解決策について解説します。 問題の定義 ある数値 n が与えられたとき、その数値がフィボナッチ数であるかどうかを判定します。 第 n 項のフィボナッチ数は、直前の2つのフィボナッチ数の和として定義されることは広く知られています。しかし、フィボナッチ数列には漸化式以外にも興味深い数学的性質があります。 フィボナッチ数の判定条件 ある数値 n がフィボナッチ数であるのは、「5×n² + 4」または「5×n² − 4」のいずれかが完全平方数であるとき、かつそのときに限る この性質を利用すれば、フィボナッチ数列を実際に生成しなくて