Python | str()、int()、float()で数値型を文字列に、文字列型を数値型に変換する方法

2023-02-23Python 数値・計算,Python 文字列,Python

Python | str()、int()、float()で数値型を文字列に、文字列型を数値型に変換する方法

Pythonの()メソッドを使って方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

数値型を文字列型に変換する

Pythonで数値型の値を文字列型に変換するにはstr()関数が利用可能です。

第一引数に数値型の値を指定します。

num = 100
str = str(num)

# str は文字列型の '100' が代入されます

文字列型を数値型に変換する(整数の場合)

文字列型の値を整数型の数値型に変換するにはint()関数が利用できます。

第一引数に文字列型の値を指定しますが、値が数値のみで構成されている文字列である必要があります。

str = "100"
num = int(str)

# num にはint型 100 が代入されます

数値型に変換できない値を指定するとValueErrorが出力されます。

これを回避するにはtry…except文でエラーの判定を実装するなどのコードを追加する必要があります。

str = "100a"
num = int(str)

# ValueError: invalid literal for int() with base 10: '100a'

文字列型を数値型に変換する(浮動小数点の場合)

文字列型の値を浮動小数点を含む数値型に変換するにはfloat()関数が利用できます。

int()と同じく第一引数に文字列型の値を指定しますが、値が数値のみで構成されている文字列である必要があります。

str = "100.1"
num = float(str)

# num にはfloat型 100.1 が代入されます

小数点以下を持たない整数の場合も浮動小数点を持つfloat型に変換されます。

str = "100"
num = float(str)

# num にはfloat型 100.0 が代入されます

小数点以下の桁数を調節したい場合はround()関数(四捨五入)を使った方法などがあります。

str = "123.456789"
num = round(float(str),3)

# num にはfloat型 23.457 が代入されます

float()関数に変換できない値を指定するとValueErrorが出力されます。

これを回避するにはtry…except文でエラーの判定を実装するなどのコードを追加する必要があります。

str = "100a"
num = float(str)

# ValueError: invalid literal for int() with base 10: '100a'