Pythonのfloat()とは?文字列を小数に変換する方法を初心者向けに解説

Pythonのfloat()は、整数や文字列などの値を浮動小数点数(小数)に変換する関数です。

「文字列として入力された数字を計算に使いたい」「整数を小数として扱いたい」といった場面でよく使います。

この記事では、Python初心者向けにfloat()の基本的な使い方から、int()との違い、文字列を変換するときの注意点まで解説します。

float()とは?

float()は、指定した値を浮動小数点数(float型)に変換するPythonの組み込み関数です。

基本的な書き方は次のとおりです。

float(値)

例えば、整数の10float()で変換すると、10.0になります。

x = float(10)

print(x)

実行結果:

10.0

10は整数ですが、float(10)にすると10.0という浮動小数点数になります。

float()で整数を小数に変換する

整数をfloat()に渡すと、浮動小数点数に変換できます。

x = float(10)

print(x)
print(type(x))

実行結果:

10.0
<class 'float'>

type()を使うと、変換後のデータ型を確認できます。

type(x)

結果はfloatです。

float()で文字列を小数に変換する

float()は、数字を表す文字列の変換にも使えます。

price = float("120.5")

print(price)

実行結果:

120.5

この場合、

"120.5"

は文字列ですが、

float("120.5")

によって数値の120.5に変換されています。

文字列のままだと数値計算に使いにくいため、入力値を計算するときによくfloat()を使います。

input()float()を組み合わせる

初心者がfloat()を使う代表的な場面が、input()との組み合わせです。

input()で受け取った値は、基本的に文字列です。

例えば、

price = input("価格を入力してください:")

とすると、500.5と入力しても文字列として扱われます。

そこでfloat()を使います。

price = float(input("価格を入力してください:"))

print(price * 1.1)

例えば500.5と入力すると、

550.55

のように計算できます。

float()を使わない場合

price = input("価格を入力してください:")

この場合、priceは文字列です。

そのため、

price * 1.1

のような数値計算はできません。

数値として扱いたい場合は、

price = float(input("価格を入力してください:"))

とします。

float()int()の違い

float()int()は、どちらも値を数値に変換するときに使います。

関数 変換後の型
int() 整数 int("10")10
float() 浮動小数点数 float("10.5")10.5

例えば、

x = int("10")
y = float("10.5")

print(x)
print(y)

実行結果:

10
10.5

**小数を扱いたい場合はfloat()、整数を扱いたい場合はint()**と考えると分かりやすいでしょう。

float()で整数を変換するとどうなる?

例えば、

x = float(10)

とすると、

10.0

になります。

値そのものは同じ「10」ですが、データ型が違います。

x = 10

print(type(x))

結果:

<class 'int'>

一方、

x = 10.0

print(type(x))

結果:

<class 'float'>

Pythonでは1010.0は異なるデータ型です。

float()で文字列の整数を変換する

整数を表す文字列もfloat()で変換できます。

x = float("10")

print(x)

結果:

10.0

"10"は文字列ですが、float()によって10.0になります。

float()で小数を変換する

小数を表す文字列も変換できます。

x = float("3.14")

print(x)

結果:

3.14

これは、ユーザーから入力された小数を計算するときなどに便利です。

float()で負の数を変換する

負の数にも対応しています。

x = float("-3.14")

print(x)

結果:

-3.14

負の整数を変換することもできます。

x = float(-10)

print(x)

結果:

-10.0

float()で計算する

float()で変換した値は通常の数値として計算できます。

x = float("10.5")
y = float("2.5")

print(x + y)
print(x - y)
print(x * y)
print(x / y)

実行結果:

13.0
8.0
26.25
4.2

文字列をそのまま計算するのではなく、float()で数値に変換してから計算します。

float()で変換できない値

すべての文字列をfloat()で変換できるわけではありません。

例えば、

x = float("hello")

とすると、数値ではないためエラーになります。

ValueError

また、

x = float("10円")

のような文字列も、そのままでは変換できません。

float("10.5")

のように、Pythonが数値として解釈できる文字列を渡す必要があります。

float()で空文字を変換するとどうなる?

空文字列を変換することもできません。

x = float("")

この場合もValueErrorが発生します。

ユーザー入力をfloat()で変換する場合は、入力内容が正しいか確認することが重要です。

float()Noneを変換できる?

Nonefloat()に渡すこともできません。

x = float(None)

この場合はTypeErrorが発生します。

float()に渡す値が、数値または数値として解釈できる文字列になっているか確認しましょう。

float()0の違い

次の2つは値として似ていますが、型が違います。

x = 0
y = 0.0

確認すると、

print(type(x))
print(type(y))

結果:

<class 'int'>
<class 'float'>

0int型、0.0float型です。

float()の基本まとめ

float()は、値を浮動小数点数に変換する関数です。

float(10)

結果:

10.0

文字列も変換できます。

float("3.14")

結果:

3.14

特に初心者は、input()と組み合わせる使い方を覚えておくと便利です。

price = float(input("価格を入力してください:"))

input()で受け取った文字列をfloat()で数値に変換することで、小数を含む計算ができるようになります。

よくある質問

float()とは何ですか?

Pythonのfloat()は、値を浮動小数点数(float型)に変換する組み込み関数です。

float()int()の違いは?

int()は整数に変換し、float()は浮動小数点数に変換します。

int("10")      # 10
float("10.5")  # 10.5

float("10")の結果は?

10.0になります。

x = float("10")
print(x)

実行結果:

10.0

float("3.14")は使えますか?

はい。3.14という文字列を3.14というfloat型に変換できます。

float("3.14")

float()で文字列を数値にできますか?

はい。文字列が数値として解釈できる形式なら、float()で浮動小数点数に変換できます。

float("100.5")

float()で変換できないとどうなりますか?

数値として解釈できない文字列などを渡すと、ValueErrorTypeErrorが発生します。

まとめ

Pythonのfloat()は、整数や数値を表す文字列などを浮動小数点数に変換する関数です。

特に重要なのは次の3つです。

  • float(10)10.0

  • float("3.14")3.14

  • float(input()) → 入力された小数を計算に利用できる

Pythonで小数を扱うときや、input()から受け取った小数を計算するときには、float()が非常によく使われます。

まずは、

x = float("3.14")

print(x)
print(type(x))

を実際に実行して、「文字列 → float型」への変換を確認してみましょう。


あわせて読みたい

float()は、Pythonの組み込み関数の1つです。ほかの関数・メソッドとあわせて確認したい方は、次の一覧ページをご覧ください。

プログラミング学習に興味がある方は、まずは無料体験会へ

無料体験会・お申し込みはこちら