Python float()使い方3つ

Python float()関数は、他のデータ型を浮動小数点数に変換するために使用されます。浮動小数点数は、整数と異なり、小数点以下の値を持つ数値型データです。この記事では、float()関数の基本的な使い方から、それを応用したさまざまな活用方法までを紹介します。

Python float()関数とは?

float()関数は、Pythonで文字列整数型のデータ浮動小数点数に変換する関数です。基本的な文法は次の通りです。

Python
float(値)

ここで「値」とは、浮動小数点数に変換したい数値型や文字列データを指します。浮動小数点数を使用すると、精密な計算が可能になり、さまざまな数学的演算でも便利に利用できます。

float()関数の基本使い方

整数を浮動小数点数に変換する

float()の最も基本的な使い方は、整数を浮動小数点数に変換することです。

Python
num = 17
float_num = float(num)
print(float_num)

上記の例では、整数型の17をfloat()関数を使用して浮動小数点数の17.0に変換しています。ここで重要な点は、float()関数を使用すると小数点以下に0が追加され、その値が浮動小数点数として認識されることです。

図1. Python float()で整数17を浮動小数点数17.0に変換
図1. Python float()で整数17を浮動小数点数17.0に変換

文字列を浮動小数点数に変換する

float()関数は、数値型の文字列も浮動小数点数に変換できます。

Python
num_str = "3.14"
float_num = float(num_str)
print(float_num)

上記の例では、文字列”3.14″をfloat()関数で浮動小数点数に変換しています。このように、文字列内の数値データを浮動小数点数に変換できるため、ユーザー入力データを処理する際に役立ちます。

図2. Python float()で文字列3.14を浮動小数点数3.14に変換
図2. Python float()で文字列3.14を浮動小数点数3.14に変換

ただし、文字列が数値に変換できない場合はエラーが発生します。

Python
num_str = "hello"
float_num = float(num_str)

次のように、”ValueError: could not convert string to float: ‘hello'”というエラーメッセージが表示されます。

図3. Python float()で変換できない文字列の場合に発生するValueError
図3. Python float()で変換できない文字列の場合に発生するValueError

この場合、エラーハンドリングのために例外処理構文を使用できます。

Python
try:
    float_num = float("hello")
except ValueError:
    print("変換できない値です。")

次のように、例外時に実行されるprint()が確認できます。

図4. Python float()で変換できない場合の例外処理
図4. Python float()で変換できない場合の例外処理

Boolean値を浮動小数点数に変換

Boolean型の値であるTrueやFalseも浮動小数点数に変換できます。次の図のように、Trueは1.0に、Falseは0.0に変換されます。

図5. PythonでBoolean型の値を浮動小数点数に変換
図5. PythonでBoolean型の値を浮動小数点数に変換

注意点: 非常に大きな数と非常に小さな数

Pythonのfloat()関数は、非常に大きな数や非常に小さな数を扱う場合にも便利です。Pythonは浮動小数点表記を使用して、これらの数を処理します。

Python
large_num = 1e207
small_num = 1e-207
print(float(large_num))
print(float(small_num))

ここで、1e207は10の207乗を意味します。float()関数は、このような大きな数の処理にも非常に効率的です。

図6. Python float()で非常に大きな数や小さな数を処理
図6. Python float()で非常に大きな数や小さな数を処理

NaNとInfを扱う

float()関数は、NaN(Not a Number、数字ではない)や無限大の値(Inf)を処理する場合にも役立ちます。これを利用すると、異常な計算結果を処理できます。

Python
nan_value = float("nan")
inf_value = float("inf")
print(nan_value)
print(inf_value)

NaNは「数字ではない」ことを示し、主に誤った計算の結果として発生します。Infは無限大を示し、非常に大きな値や、ゼロでの割り算によって発生することがあります。また、Pythonのモジュールmathを使って以下のように利用することも可能です。

Python
import math
nan_value = math.nan
inf_value = math.inf

float()と四捨五入

浮動小数点数データを扱う際、時折小数点以下の値を調整する必要があります。Pythonでは、round()関数を使用して小数点以下の桁数を調整できます。

Python
num = 3.1415926535897
rounded_num = round(num, 2)  # 小数点第2位まで四捨五入
print(rounded_num)

以下のように、小数点第3位以下がすべて第2位に四捨五入されたことを確認できます。

図7. Pythonで浮動小数点数を四捨五入
図7. Pythonで浮動小数点数を四捨五入

float()と算術演算

float()関数は、算術演算にもよく使用されます。Pythonでは整数と浮動小数点数を一緒に演算でき、その結果は自動的に浮動小数点数に変換されます。

Python
int_num = 10
float_num = 7.3
result = int_num + float_num
print(result)

次の図で、整数と浮動小数点数を足した結果が自動的に浮動小数点数に変換されたことが確認できます。

図8. Pythonで整数型の値と浮動小数点数の加算結果は浮動小数点数
図8. Pythonで整数型の値と浮動小数点数の加算結果は浮動小数点数

このように、float()関数はさまざまな算術演算にも便利に使われます。

浮動小数点数の出力フォーマット

浮動小数点数の出力時には、出力形式を指定することができます。

Python
pi = 3.141592
print("%8.2f" % pi)

次の図のように、8桁のスペースに小数点第2位までが出力されていることが確認できます。

図9. Pythonで浮動小数点数の出力形式を指定して出力
図9. Pythonで浮動小数点数の出力形式を指定して出力

まとめ

Pythonのfloat()関数は、数値を浮動小数点数に変換する際に非常に便利な関数です。精密な計算だけでなく、大きな数や小さな数、NaNやInfといった特殊な値の処理にも強力な機能を提供します。また、round()関数や算術演算と組み合わせて、さまざまな形で利用できます。最後に、float()関数を使用する際は、例外処理を活用して安全なコードを書くことをお勧めします。

リファレンス

関連ポスト

コメントする