数値(浮動小数)の切り捨て、切り上げ、丸め込み(四捨五入) - 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の作業もする。
掲載日: 2012-03-22
iPentec all rights reserverd.