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

Vaibhav Vaibhav 2022年4月5日
Python で文字列を浮動小数点値に変換する

プログラミングでは、データは変数に格納され、これらの変数には特定のデータ型があります。これらのデータ型には、整数、浮動小数点値、文字列、およびブール値が含まれます。

あるデータ型の値を別のデータ型に変換しなければならない状況に遭遇することがあります。たとえば、integerfloat に、integerlong に、integerboolean に、stringboolean に変換します。

この記事では、文字列値を浮動小数点値に変換する方法を学習します。

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

文字列を float 値に変換するときは、文字列が数値を表すことを確認する必要があります。たとえば、"1""1.0"1.0 に変換できますが、"hello""python is amazing"を浮動小数点値に変換することはできません。

実際に変換を実行する方法を見てみましょう。これについては、次の Python コードを参照してください。

print(float("1"))
print(float("1.1"))
print(float("0.231"))
print(float("123"))
print(float("0"))
print(float("0.0"))
print(float("+12"))
print(float("10e10"))
print(float("-125"))

出力:

1.0
1.1
0.231
123.0
0.0
0.0
12.0
100000000000.0
-125.0

Python には、文字列を浮動小数点値に変換できる float() 関数があります。文字列だけでなく、この組み込みメソッドを使用して整数を浮動小数点値に変換することもできます。

前述のように、文や単語を表す文字列を浮動小数点値に変換することはできません。float() メソッドは、そのようなシナリオに対して ValueError 例外をスローします。

次の Python コードはこれを表しています。

print(float("hello"))

出力:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ValueError: could not convert string to float: 'hello'

float() メソッドに渡す文字列値がわからない場合は、try および except ブロックを使用して例外をキャッチし、プログラムの実行を続行できます。これについては、次のコードを参照してください。

strings = ["1.1", "-123.44", "+33.0000", "hello", "python", "112e34", "0"]

for s in strings:
    try:
        print(float(s))
    except ValueError:
        print("Conversion failed!")

出力:

1.1
-123.44
33.0
Conversion failed!
Conversion failed!
1.12e+36
0.0

ご覧のとおり、try...except ブロックは、"hello""python"の例外をキャッチするのに役立ちました。他の要素については、アルゴリズムはシームレスに実行されました。

著者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

関連記事 - Python String

関連記事 - Python Float

関連記事 - Python Conversion