数値の基本

数値の型は、主にint型とfloat型になります。
単純に言えば、intは整数で、floatは小数点のある数字(実数)です。

int型の場合、64bitの数値として、-9223372036854775807 〜 9223372036854775807までの数値を扱う事ができます。
float型の場合、エンジン内の関数などでは32bitの浮動小数点値を使用しています。
これは10進数の6桁になりますので、大きな数字を表現する場合はint型として処理するほうが良いと思います。

数値の作成方法

数値を作成するには数値リテラルを使用します。

整数の作成

var value0 :int = 1
var value1 :int = -1

# 静的型付け
var value2 = 1

実数の作成

var value0 :float = 1.0
var value1 :float = -1.0

# 静的型付け
var value2 = 1.0

数値に変換する方法

別の型を数値に変換(キャスト)する関数が用意されています。

intクラスメソッド

メソッド名 説明
int(bool) bool型をint型に変換します。trueなら1に、falseなら0に変換します。
int(float) float型をint型に変換します。端数は切り捨てられますので、例えば2.7の場合は2に、-0.7の場合は0になります。
int(String) 有効なString型をint型に変換します。すべて無効な文字列は無視され0が返されます。例えば"test1"の場合は1に、"1e3"の場合は13になります。

floatクラスメソッド

メソッド名 説明
float(bool) bool型をfloat型に変換します。trueなら1.0に、falseなら0.0に変換します。
float(int) int型をfloat型に変換します。1の場合は1.0に変換されます。
float(String) 有効なString型をfloat型に変換します。このメソッドはfloat文字列("0.72"など)や指数表記文字列を受け入れるため、1e3の場合は1000.0になります。(1e3 = 1×10の3乗 = 1000
それまで解析した結果を返して処理を終了するため、1e3a2の場合は1000.0となり、後半のa2は無効となります。

特殊な数値の表し方

2進整数(int型)

01で表す2進数ですが、Godot Engineでは、最終的にint型として扱われます。
例えば0101という二進整数の場合、0b0101と記述することができ、これを出力すると5になります。
逆に、5を二進整数で表すと0b0101になりますので、明示的な型の変換は必要はなく、整数を二進整数として演算することが可能です。

二進整数(ビット)演算については別のページで詳しく解説します。

16進整数(int型)

0~Fまでの1桁が0~15まである数値です。Godot Engineでは、最終的にint型として扱われます。
例えばFFFという16進整数の場合、0xFFFと記述することができ、これを出力すると4095になります。

数値の計算

数値は演算子を使って計算することができます。

算術演算子

# 加算(足し算)
var value1:int = 3 + 2 # value = 5

# 減算(引き算)
var value2:int = 3 - 2 # value = 1

# 乗算(掛け算)
var value2:int = 3 * 2 # value = 6

# 除算(割り算)
var value2:float = 3.0 / 2.0 # value = 1.5

# 剰余(余り)
var value2:int = 3 % 2 # value = 1

複合代入演算子

var value:float = 3.0
value += 2.0 # =5.0 加算
value -= 2.0 # =1.0 減算
value *= 2.0 # =6.0 乗算
value /= 2.0 # =1.5 除算

# 以下はint型のみ
var value:int = 3
value %= 2 # =1 剰余