% 剰余演算子

expression1 % expression2

expression1expression2 で割ったときの剰余を計算します。expression パラメータがいずれも非数値である場合、剰余 (%) 演算子はパラメータを数値に変換しようとします。expression は数値、または数値に変換されるストリングです。

剰余演算結果の符号は、被除数 (最初の数値) の符号と一致します。たとえば、-4 % 3 と -4 % -3 の評価結果は共に -1 になります。

使用できるバージョン : ActionScript 1.0、Flash Lite 1.0 - Flash 4 ファイルでは、% 演算子は SWF ファイル内で x - int(x/y) * y として展開され、Flash Player の後のバージョンと比較して速度や正確さが劣る場合があります。

オペランド

expression1 : Number - 数値、または評価結果が数値になる式。

expression2 : Number - 数値、または評価結果が数値になる式。

戻り値

Number - 算術演算の結果。

次に、数値に対して剰余 (%) 演算子を使用する例を示します。

trace(12%5); // 2 をトレースする 
trace(4.3%2.1); // 0.0999999999999996 をトレースする 
trace(4%4); // 0 をトレースする

剰余 (%) 演算子は余りだけを返すため、1 つ目の trace ステートメントでは 12/5 や 2.4 ではなく 2 が返されます。ところが、2 番目の trace ステートメントでは 0.1 ではなく、0.0999999999999996 が返されます。これは 2 進数計算では浮動小数点の精度に限度があるからです。

関連項目

/ 除算演算子, round (Math.round メソッド)