Python 浮動小数点数型 float
Publish date: 2021-03-18
Pythonで使用可能な組み込みの数値型の1つ浮動小数点型floatについての説明です。
Python 浮動小数点型floatの定義
数字0~9、符号+
と-
、ピリオド.
で小数を表現できる。
桁数が多い数値のためにアンダースコアで数値を区切る事が許されている。
eで指数表記を行える。
小数点前後の0は省略可能。
float_number = 1.2345
float_number = +1.2345
float_number = -1.2345
float_number = 123.
float_number = .123
float_number = 1.23e20
float_number = 1_234.123_456
Python 浮動小数点型floatの演算
1.1 + 2.3 # => 3.4 足し算
2.5 - 0.2 # => 2.3 引き算
2.1 * 3.3 # => 6.93 掛け算
5.5 / 1.1 # => 5.0 割り算
5.5 // 1.5 # => 3.0 割り算(整数除算)
5.5 % 1.5 # => 1.0 剰余
1.00001**100000 #= > 2.7182682371922975 冪乗
-1.0 # => -1.0 符号反転
Python 浮動小数点型floatの関数を使った基本的な演算
abs(-1.23) # => 1.23 絶対値
int(12.34) # => 12 整数に変換
float(1.23) # => 1.23 浮動小数点数に変換
c = 1.23
c.conjugate() # => 1.23 共役複素数
a, b = divmod(5.5, 1.5) # => a=3.0, b=1.0 割り算と剰余
pow(1.00001,100000) # => 2.7182682371922975 冪乗
Python 浮動小数点型floatの判定
対象の変数が整数であるかは、type(変数) is float
や
isinstance(変数 , float)
で判定を行える。
float_number = 123.45
type(float_number) is float # => True
isinstance(float_number , float) # => True
type(123) is float # => False
isinstance("1.3", float) # => False
浮動小数点のまるめ
import math
math.trunc(1.3) # => 1 切り捨て
round(12.343,2) #=> 12.34 まるめ
round(12.344,2) #=> 12.34 まるめ
round(12.345,2) #=> 12.35 まるめ
round(12.346,2) #=> 12.35 まるめ
math.floor(12.3) # => 12 以下の最大の整数
math.ceil(12.3) # => 13 以上の最大の整数
浮動小数点と分数
float_number = 12.75
a, b = float_number.as_integer_ratio() #=> a=51, b=4 元の少数と同じ比になる分子と分母
a / b #=> 12.75
浮動小数点の整数判定
(12.0).is_integer() # => True
(12.1).is_integer() # => False
浮動小数点の16進数文字列変換
(1.0625).hex() # => '0x1.1000000000000p+0'
float.fromhex("0x1.1") #
=> 1.0625