Python int型・Float型・decmal型(数値型)の使い方 

スポンサーリンク

Pythonの数値型でよく使われるのは3種類あります。

  • int型・・・整数型
  • float型・・・小数型(浮動小数点数型)
  • decmal型・・・小数型(固定小数点数型)

今回は、Pythonの数値型のint型・float型・decimal型の特徴をそれぞれ解説します。

int型(整数型)

Pythonの整数型は「int型」を使います。整数型なのでもちろん小数は扱えません。

10をint型にする

int(10)
#[結果] 10

Pythonでは、「int(数値)」を使うと int型に型変換できます。「10」をint型にすると「10」になりました。

10.1をint型にする

int(10.1)
#[結果] 10

「10.1」をint型にすると、小数部分は切り捨てられ「10」になりました。

float型(浮動小数点数型)

Python 小数型はfloat型を使います。float型は浮動小数点数型です。固定小数点数ではありませんので、注意してください。

0.01をfloat型にする

float(0.01)
#[結果] 0.01

Pythonでは、「float(数値)」を使うと float型に型変換できます。「0.01」をfloat型にすると「0.01」になりました。

0.00001をfloat型にする

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

float(0.5) - float(0.4)
#[結果] 0.09999999999999998

「0.00001」をfloat型にすると、「1e-05」になりました。float型は概数なのでこのように省略形式になります。

2つ目では「0.5-0.4」で答えは「0.1」になるはずが、「0.09999999999999998」となってしまいました。

このようにfloat型では正確に小数計算できません。

その場合は、次のdecimal型を使います。

 

decimal型(固定小数点数型)

Python 小数型で10進数として扱いたい場合は、decimal型を使います。decimal型は固定小数点数型です。

0.00001をdecimal型にする

#Decimalをインポート
from decimal import Decimal

Decimal(0.00001)
#[結果] Decimal('0.000010000000000000000818030539140313095458623138256371021270751953125')

Pythonでは、decimal型を使うには、まずdecimalをインポートします。→「from decimal import Decimal」

「Decimal(数値)」を使うと decimal型に型変換できます。「0.00001」をdecimal型にすると「0.000010000000000000000818030539140313095458623138256371021270751953125」になってしまいました。

10進数の「0.00001」にはなりません。

0.00001を10進数decimal型にする

#Decimalをインポート 
from decimal import Decimal

Decimal('0.00001')
#[結果] Decimal('0.00001')

Decimal('0.5') - Decimal('0.4')
#[結果] Decimal('0.1')

「Decimal(‘0.00001’)」のように数値をシングルクォーテーションでくくり、文字列として扱うと、10進数「0.00001」となりました。これで小数を10進数として扱うことができました。

2つ目では「0.5-0.4」で「0.1」となりました。decimal型では正確に小数計算できました。

以上、Pythonの数値型であるint型・float型・decimal型の解説でした。

 

コメント