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

イントロダクション

この記事では、Pythonのfloat()関数を使用して文字列を浮動小数点数に変換します。また、Pythonのstr()関数を使用して浮動小数点数を文字列に変換します。

ランタイムエラーを防ぐために、計算や連結に使う前にデータ型を適切に変換することが重要です。

前提条件

このチュートリアルを完了するためには、次のものが必要です。

  • Familiarity with installing Python 3. And familiarity with coding in Python. How to Code in Python 3 series or using VS Code for Python.

このチュートリアルはPython 3.9.6でテストされました。

float()関数を使う

Pythonのfloat()関数を使用すると、文字列を浮動小数点数に変換することができます。これは、オブジェクトを浮動小数点数に変換するために使用される組み込み関数です。 float()関数は、内部的に指定されたオブジェクトの__float__()関数を呼び出します。

例を挙げると

Pythonで文字列を浮動小数点数に変換する例を見てみましょう。

input_1 = '10.5674'

input_1 = float(input_1)

print(type(input_1))
print('Float Value =', input_1)

出力:

<class 'float'>
Float Value = 10.5674

「10.5674」という文字列の値が、浮動小数点値の10.5674に変換されました。

なぜ文字列を浮動小数点数に変換する必要があるのですか? (Naze mojiretsu wo fudōshōsū ni henkan suru hitsuyō ga aru nodesu ka?)

もしコマンドプロンプトやファイルからユーザー入力としてフロート値を受け取る場合、それらは文字列オブジェクトになります。したがって、加算や乗算などの必要な演算を行うためには明示的にそれらをフロートに変換する必要があります。

input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)

input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)

print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')

Note

注意:もしf接頭辞を使った文字列フォーマットが馴染みがなければ、Pythonのf-stringsについて読んでください。

このコードを実行して、input_1とinput_2には浮動小数点値を提供しましょう。

Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69

10.234と2.456の結果の合計は12.69です。

理想的には、ユーザーの無効な入力があった場合に例外をキャッチするためにtry-exceptブロックを使用するべきです。

str()関数を使う

また、str()関数を使用して、浮動小数点数を文字列に変換することもできます。これは、浮動小数点数の値を連結したい場合に必要になる場合があります。

例えば

例を見てみましょう。

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

# using f-string from Python 3.6+, change to format() for older versions
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')

このコードを実行しましょう。

Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45

10.23と20.34を連結すると文字列’10.2320.34’ができます。このコードは、カンマで区切られた値(CSV)の2つのバージョンも生成します。

上記のプログラムで浮動小数点数を文字列に変換しない場合、join()関数は例外を発生させます。また、浮動小数点数を追加するため、+演算子を使用することもできません。

結論

私たちのGitHubリポジトリから、完全なPythonスクリプトや他のPythonの例をチェックすることができます。

参考文献:

  • float() official documentation
コメントを残す 0

Your email address will not be published. Required fields are marked *