Pythonで文字列や整数を小数(浮動小数点数)に変換する方法について解説します。

float()関数の基本的な使い方

float()関数を使用することで、文字列や整数を浮動小数点数に変換できます。

# 整数から浮動小数点数への変換
num = float(10)
print(num)  # 出力: 10.0

# 文字列から浮動小数点数への変換
text = float("3.14")
print(text)  # 出力: 3.14

float()関数でよく発生するエラー

1. ValueError: could not convert string to float

このエラーは、float()関数に変換できない値を渡した時に発生します。

# エラーが発生するケース
float("abc")  # ValueError: could not convert string to float
float("1,234")  # ValueError: could not convert string to float

エラーの解決方法

1. 文字列内のカンマを削除する

text = "1,234"
num = float(text.replace(",", ""))
print(num)  # 出力: 1234.0

2. try-except文でエラーハンドリング

try:
    num = float("abc")
except ValueError:
    print("数値に変換できない文字列です")

float()関数の注意点

  • 小数点を含む文字列は必ずピリオド(.)を使用する
  • 科学表記法(1e-10など)も変換可能
  • 変換後の精度は約15桁
# 科学表記法の例
print(float("1e-10"))  # 出力: 1e-10

よくある使用例

# 計算結果を小数点で取得
result = float(10) / 3
print(result)  # 出力: 3.3333333333333335

# 文字列の数値計算
price = float("100.50") * 1.1
print(price)  # 出力: 110.55

まとめ

float()関数は、Pythonで文字列や整数を浮動小数点数に変換する際に非常に便利な関数です。ただし、変換できない値を渡した場合はValueErrorが発生するため、適切なエラーハンドリングが必要です。また、カンマを含む数値文字列を変換する際は、事前に文字列からカンマを削除する必要があります。