数値(浮動小数)の切り捨て、切り上げ、丸め込み(四捨五入) - Action Script
数値の切り捨て
Flash Flexで数値を切り捨てる場合は Math.floor() メソッドを用います。
コード例
var percent:Number = (value / totalValue) * 100;
label1.text = Math.floor(percent) + "%";
数値の切り上げ
Flash Flexで数値を切り上げる場合は Math.ceil() メソッドを用います。
コード例
var percent:Number = (value / totalValue) * 100;
label1.text = Math.ceil(percent) + "%";
数値の丸め込み (四捨五入)
Flash Flexで数値を四捨五入する場合は Math.round() メソッドを用います。
コード例
var percent:Number = (value / totalValue) * 100;
label1.text = Math.round(percent) + "%";
プログラム例
UI
下図のUIを準備します。TextInputを1つ、Buttonを3つ、Labelを1つ設置します。
TextInputのIDを "textInput_Number"
LabelのIDを "label_output"
とします。またボタンのClickハンドラを生成します。(Clickハンドラ生成の詳細は
こちら)
コード
下記のコードを記述します。実質は各ボタンのClickハンドラーを記述するのみです。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="360" height="160" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
//Floorボタン
protected function button1_clickHandler(event:MouseEvent):void
{
var value:Number = parseFloat( textInput_number.text );
label_output.text = String(Math.floor(value));
}
//Ceilボタン
protected function button2_clickHandler(event:MouseEvent):void
{
var value:Number = parseFloat( textInput_number.text );
label_output.text = String(Math.ceil(value));
}
//Roundボタン
protected function button3_clickHandler(event:MouseEvent):void
{
var value:Number = parseFloat( textInput_number.text );
label_output.text = String(Math.round(value));
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
</fx:Declarations>
<s:TextInput id="textInput_number" x="10" y="10" width="231"/>
<s:Button x="10" y="38" label="Floor" click="button1_clickHandler(event)"/>
<s:Label id="label_output" x="10" y="67" text="ラベル"/>
<s:Button x="93" y="36" label="Ceil" click="button2_clickHandler(event)"/>
<s:Button x="171" y="36" label="Round" click="button3_clickHandler(event)"/>
</s:Application>
実行結果
アプリケーションを実行すると下図の画面が表示されます。
テキスト入力フィールドに"4.8"を入力して[Floor]ボタンを押します。小数点以下が切り捨てられ、"4"がラベルに表示されます。
同様にテキスト入力フィールドに"4.8"を入力して[Ceil]ボタンを押します。小数点以下が切り上げられ、"5"がラベルに表示されます。
テキスト入力フィールドに"4.8"を入力して[Round]ボタンを押した場合は、四捨五入により、"5"がラベルに表示されます。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。