Python float()関数は、他のデータ型を浮動小数点数に変換するために使用されます。浮動小数点数は、整数と異なり、小数点以下の値を持つ数値型データです。この記事では、float()関数の基本的な使い方から、それを応用したさまざまな活用方法までを紹介します。
目次
Python float()関数とは?
float()関数は、Pythonで文字列や整数型のデータを浮動小数点数に変換する関数です。基本的な文法は次の通りです。
float(値)
ここで「値」とは、浮動小数点数に変換したい数値型や文字列データを指します。浮動小数点数を使用すると、精密な計算が可能になり、さまざまな数学的演算でも便利に利用できます。
float()関数の基本使い方
整数を浮動小数点数に変換する
float()の最も基本的な使い方は、整数を浮動小数点数に変換することです。
num = 17
float_num = float(num)
print(float_num)
上記の例では、整数型の17をfloat()関数を使用して浮動小数点数の17.0に変換しています。ここで重要な点は、float()関数を使用すると小数点以下に0が追加され、その値が浮動小数点数として認識されることです。
文字列を浮動小数点数に変換する
float()関数は、数値型の文字列も浮動小数点数に変換できます。
num_str = "3.14"
float_num = float(num_str)
print(float_num)
上記の例では、文字列”3.14″をfloat()関数で浮動小数点数に変換しています。このように、文字列内の数値データを浮動小数点数に変換できるため、ユーザー入力データを処理する際に役立ちます。
ただし、文字列が数値に変換できない場合はエラーが発生します。
num_str = "hello"
float_num = float(num_str)
次のように、”ValueError: could not convert string to float: ‘hello'”というエラーメッセージが表示されます。
この場合、エラーハンドリングのために例外処理構文を使用できます。
try:
float_num = float("hello")
except ValueError:
print("変換できない値です。")
次のように、例外時に実行されるprint()が確認できます。
Boolean値を浮動小数点数に変換
Boolean型の値であるTrueやFalseも浮動小数点数に変換できます。次の図のように、Trueは1.0に、Falseは0.0に変換されます。
注意点: 非常に大きな数と非常に小さな数
Pythonのfloat()関数は、非常に大きな数や非常に小さな数を扱う場合にも便利です。Pythonは浮動小数点表記を使用して、これらの数を処理します。
large_num = 1e207
small_num = 1e-207
print(float(large_num))
print(float(small_num))
ここで、1e207は10の207乗を意味します。float()関数は、このような大きな数の処理にも非常に効率的です。
NaNとInfを扱う
float()関数は、NaN(Not a Number、数字ではない)や無限大の値(Inf)を処理する場合にも役立ちます。これを利用すると、異常な計算結果を処理できます。
nan_value = float("nan")
inf_value = float("inf")
print(nan_value)
print(inf_value)
NaNは「数字ではない」ことを示し、主に誤った計算の結果として発生します。Infは無限大を示し、非常に大きな値や、ゼロでの割り算によって発生することがあります。また、Pythonのモジュールmathを使って以下のように利用することも可能です。
import math
nan_value = math.nan
inf_value = math.inf
float()と四捨五入
浮動小数点数データを扱う際、時折小数点以下の値を調整する必要があります。Pythonでは、round()関数を使用して小数点以下の桁数を調整できます。
num = 3.1415926535897
rounded_num = round(num, 2) # 小数点第2位まで四捨五入
print(rounded_num)
以下のように、小数点第3位以下がすべて第2位に四捨五入されたことを確認できます。
float()と算術演算
float()関数は、算術演算にもよく使用されます。Pythonでは整数と浮動小数点数を一緒に演算でき、その結果は自動的に浮動小数点数に変換されます。
int_num = 10
float_num = 7.3
result = int_num + float_num
print(result)
次の図で、整数と浮動小数点数を足した結果が自動的に浮動小数点数に変換されたことが確認できます。
このように、float()関数はさまざまな算術演算にも便利に使われます。
浮動小数点数の出力フォーマット
浮動小数点数の出力時には、出力形式を指定することができます。
pi = 3.141592
print("%8.2f" % pi)
次の図のように、8桁のスペースに小数点第2位までが出力されていることが確認できます。
まとめ
Pythonのfloat()関数は、数値を浮動小数点数に変換する際に非常に便利な関数です。精密な計算だけでなく、大きな数や小さな数、NaNやInfといった特殊な値の処理にも強力な機能を提供します。また、round()関数や算術演算と組み合わせて、さまざまな形で利用できます。最後に、float()関数を使用する際は、例外処理を活用して安全なコードを書くことをお勧めします。