Home > ActionScript3.0 | Progression > MathUtilクラスを使ってみる

MathUtilクラスを使ってみる

asdocを見ていたら他にもutilクラスがいくつかあったので、今回はMathUtilクラスを使ってみました。

even

数値が偶数かどうかをtrueかfalseで判定する。

var a:int = 25;
var b:int = 39;
var c:int = a * b;

trace(c);
trace(MathUtil.even(c));

これを実行すると、975とfalseが表示される。奇数なので、falseとなるわけですね。

偶数か奇数かを判定するのには、よく%2で割って、余りが0かっていうのを使いますよね?

var a:int = 25;
var b:int = 39;
var c:int = a * b;

if(c % 2 == 0){
  trace("偶数です");
}else{
  trace("奇数です");
}

これと同じことが、MathUtil.evenを使っても可能です。

var a:int = 25;
var b:int = 39;
var c:int = a * b;

if(MathUtil.even(c) == true){
  trace("偶数です");
}else{
  trace("奇数です");
};

percent

これを使ってあげると、自分でいろいろ書かなくてもパーセントの値を返してくれます。

trace(MathUtil.percent(300,100) + "%");

これを実行すると、300%と表示されます。

var f:int = 300;
var g:int = 100;
var h:String = (f / g) * 100 + "%";
trace(h);

わざわざこんなことしなくていい、ということです。

trace(MathUtil.percent(135,35) + "%");

割り切れない数値の場合は、自力で切り捨て、切り上げとかの処理をやるしかないですが…

range

これ、躓きました。

範囲内に適合する値を返します。

と、あったので、僕は適合するかしないかの(正規表現的)判別だと思っていたんです…

Example(二番目の例)にあるように、20は10と30の間にあるかどうかみたいな…

僕の誤った考えでいくと、1と3番目は、適合しないということになってしまいますよね?

0は10と30の間にあるか? 40は10と30の間にあるか? みたいな…(何故10と30になるの? って悩みました…)

そうではなかったのです。(完全に間違いという訳ではなかったんですが…)

多分こんなことだろうと思います。

  1. 適合させたい数値(第一引数)が、第二引数と第三引数の間にあるかを判別する
  2. 間にある場合には、その(第一引数の)値を返す
  3. 間にない場合には、第二引数、第三引数に近い(どちらか一方の)値を返す

あと、第二引数(最小値)の値と第三引数(最大値)の値を、逆に指定してしまっても大丈夫なように、実装されています。

trace(MathUtil.range(0,30,10));

こんな感じに指定してしまっても、きちんと10と返してくれます。

とても親切!

※今回はcycleは扱いませんでした…

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=403
Listed below are links to weblogs that reference
MathUtilクラスを使ってみる from flabaka
pingback from blog.progression.jp» ブログアーカイブ » [お知らせ] 今週の Progression 関連エントリー(2009/01/17 ~ 2009/01/23) 09-01-24 (土) 2:47

[...] flabaka / MathUtilクラスを使ってみる [...]

Home > ActionScript3.0 | Progression > MathUtilクラスを使ってみる

Search
Feeds
Meta

Return to page top