Pythonで文字列を数値型(int・float・decimal)に型変換する

スポンサーリンク

Pythonでは文字列型の数値を数値型(int・float・decimal)に型変換することができます。

数値型はおもに3種類あり、整数のint、小数のfloat、小数(10進数)のdecimalです。

今回は文字列を数値型(int・float・decimal)に型変換する方法を解説します。

文字列を数値型(int・float・decimal)に型変換する

文字列を整数int型に型変換する

cha ='100'
int(cha) 
#[結果] 100

Pythonで整数型intに変換するには「int(文字列)」を使います。

# int()でカンマが変換できない
cha ='1,000'
int(cha)
#[結果] ValueError: invalid literal for int() with base 10: '1,000'

# int()でカンマを変換する
cha ='1,000'
int(cha.replace(',',''))
#[結果] 1000

Pythonではカンマ区切りの文字列を「int()」で変換できません。その場合は「replace」を使ってカンマ「,」を空白「”」に変換して取り除いておきます。

文字列を小数floatに型変換する

cha ='0.1'
float(cha)
#[結果] 0.1

cha = '0.00001'
float(cha)
#[結果] 1e-05

Pythonで小数型floatに変換するには「float(文字列)」を使います。

floatは浮動小数点数型です。よって正確に10進数としては小数を扱えません。その場合は次の「Decimal」を使います。

文字列を小数Decimal型に型変換する(10進数)

from decimal import Decimal
cha = '0.00001'
Decimal(cha)
#[結果] Decimal('0.00001')

Pythonで10進数として小数型decimalに変換するには「Decimal(文字列)」を使います。Decimalに変換できれば、小数計算なども正確に計算できるようになります。

以上、Pythonで文字列を数値に型変換する方法でした。

コメント