. Python print()で小数点以下の表示する桁数を指定する
Python print()で小数点以下の表示する桁数を指定する
Python print()で小数点以下の表示する桁数を指定する

[Python] print()で小数点以下の表示する桁数を指定する

Pythonで小数点以下の表示桁数を指定するには、 print() 関数とフォーマット指定子を組み合わせて使用します。 例えば、 format() メソッドや f-strings を用いることで、表示する小数点以下の桁数を簡単に制御できます。 具体的には、 "".format(変数) や f"" のように記述することで、小数点以下2桁まで表示することが可能です。 これにより、数値の表示をより見やすく整えることができます。

小数点以下の桁数を指定する方法

ここでは、 format()メソッド とf文字列を使った方法を中心に解説します。

format()メソッドを使った方法 基本的な使い方 # 小数点以下2桁まで表示する number = 3.14159 formatted_number = "".format(number) print(formatted_number) # 出力: 3.14 複数の数値をフォーマットする # 複数の数値をフォーマット num1 = 3.14159 num2 = 2.71828 formatted_numbers = "num1: , num2: ".format(num1, num2) print(formatted_numbers) # 出力: num1: 3.14, num2: 2.718

この例では、 num1 は小数点以下2桁、 num2 は小数点以下3桁でフォーマットされています。

フォーマット指定子の詳細 指定子説明 .nf 小数点以下n桁まで表示 e 指数表記で表示 % パーセント表記で表示 f文字列(f-strings)を使った方法 基本的な使い方 # f文字列で小数点以下2桁まで表示 number = 3.14159 formatted_number = f"" print(formatted_number) # 出力: 3.14 複数の変数を含める # 複数の変数をf文字列でフォーマット num1 = 3.14159 num2 = 2.71828 formatted_numbers = f"num1: , num2: " print(formatted_numbers) # 出力: num1: 3.14, num2: 2.718

この例では、 format()メソッド と同様に、 num1 と num2 をそれぞれ異なる桁数でフォーマットしています。

f文字列の利点と注意点 str.format()メソッドとの違い パフォーマンスの比較

f文字列は、 format()メソッド に比べてパフォーマンスが良いとされています。

可読性の違い

一方、 format()メソッド は、より古いバージョンのPythonでも使用可能で、互換性が高いという利点があります。

小数点以下の桁数を指定する実例

金額の表示 通貨記号を含めたフォーマット # 通貨記号を含めた金額の表示 amount = 1234.567 formatted_amount = "¥".format(amount) print(formatted_amount) # 出力: ¥1234.57 千単位の区切りを含める # 千単位の区切りを含めた金額の表示 amount = 1234567.89 formatted_amount = "¥".format(amount) print(formatted_amount) # 出力: ¥1,234,567.89 科学技術計算での使用 指数表記でのフォーマット # 指数表記での数値表示 number = 123456789.0 formatted_number = "".format(number) print(formatted_number) # 出力: 1.23e+08 精度の高い計算結果の表示 # 高精度の計算結果を表示 pi = 3.141592653589793 formatted_pi = "".format(pi) print(formatted_pi) # 出力: 3.1415926536 データの整形と表示 表形式でのデータ表示 # 表形式でのデータ表示 data = [ , ] for entry in data: print("Name: , Score: ".format(**entry)) # 出力: # Name: Alice, Score: 95.12 # Name: Bob, Score: 89.57 CSVファイルへの出力 import csv # CSVファイルへのデータ出力 data = [ , ] with open('scores.csv', 'w', newline='') as csvfile: fieldnames = ['name', 'score'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() for entry in data: entry['score'] = "".format(entry['score']) writer.writerow(entry)

応用例

小数点以下の桁数を動的に変更する ユーザー入力に基づく桁数の変更 # ユーザー入力に基づく桁数の変更 number = 3.1415926535 decimal_places = int(input("表示する小数点以下の桁数を入力してください: ")) formatted_number = f"f>" print(formatted_number) 設定ファイルを用いた桁数の管理 import json # 設定ファイルを用いた桁数の管理 config = < "decimal_places": 3 >with open('config.json', 'w') as config_file: json.dump(config, config_file) with open('config.json', 'r') as config_file: config = json.load(config_file) number = 3.1415926535 formatted_number = f"f>" print(formatted_number) # 出力: 3.142 国際化対応の数値フォーマット ロケールに応じたフォーマット

Pythonの locale モジュールを使用して、ロケールに応じた数値フォーマットを行うことができます。

import locale # ロケールに応じた数値フォーマット locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') number = 1234567.89 formatted_number = locale.format_string("%f", number, grouping=True) print(formatted_number) # 出力: 1,234,567.890000 言語別の数値表記の違い 言語小数点記号千単位区切り英語.,ドイツ語,.フランス語,(スペース) グラフやチャートでの数値表示 Matplotlibでのフォーマット指定 import matplotlib.pyplot as plt # Matplotlibでのフォーマット指定 x = [1, 2, 3, 4, 5] y = [1.234, 2.345, 3.456, 4.567, 5.678] plt.plot(x, y) plt.yticks([1, 2, 3, 4, 5], [f"" for val in y]) plt.show() Seabornでの数値ラベルのカスタマイズ import seaborn as sns import matplotlib.pyplot as plt # Seabornでの数値ラベルのカスタマイズ tips = sns.load_dataset("tips") sns.barplot(x="day", y="total_bill", data=tips) for p in plt.gca().patches: plt.gca().annotate(f'', (p.get_x() + p.get_width() / 2., p.get_height()), ha='center', va='center', fontsize=10, color='black', xytext=(0, 5), textcoords='offset points') plt.show()
📎📎📎📎📎📎📎📎📎📎