zoukankan      html  css  js  c++  java
  • Flex中对表格中某列的值进行数字格式化并求百分比

    1、问题背景

         一般的,需要对表格中某列的数值进行格式化,对该数值乘以100,并保留两位小数,添加“%”


    2、实现实例

    <?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="100%" height="100%" fontSize="12"
    			   fontFamily="微软雅黑">
    	<s:layout>
    		<s:BasicLayout/>
    	</s:layout>
    	<fx:Script>
    		<![CDATA[
    			import mx.collections.ArrayCollection;
    			import mx.events.FlexEvent;
    
    			[Bindable]
    			//表格数据绑定
    			private var gridArray:ArrayCollection = new ArrayCollection([
    				{week:"星期一",apple:"3676",rate:"0.7868"},
    				{week:"星期二",apple:"4534",rate:"0.65454"},
    				{week:"星期三",apple:"6758",rate:"0.876454"},
    				{week:"星期四",apple:"9808",rate:"0.34224"},
    				{week:"星期五",apple:"6567",rate:"0.9876523"},
    				{week:"星期六",apple:"9000",rate:"0.566777"},
    				{week:"星期日",apple:"4533",rate:"0.988787"}
    			]);
    			
    			/**
    			 * 对表格中的比率进行格式化
    			 */
    			private function formatDataGrid(item:Object,column:DataGridColumn):String
    			{
    				var tempData:Number = item.rate*100;
    				var data:String = dataFormatter.format(tempData);
    				return data+"%";
    			}
    			
    		]]>
    	</fx:Script>
    	<fx:Declarations>
    		<!--格式化数字-->
    		<mx:NumberFormatter id="dataFormatter" precision="2" rounding="up"/>
    	</fx:Declarations>
    	
    	<mx:VBox width="100%" height="100%" paddingBottom="10" paddingLeft="10" paddingRight="20"
    			 paddingTop="10" horizontalAlign="center">
    		<mx:DataGrid id="dataGrid" width="100%" height="90%" dataProvider="{gridArray}" textAlign="center">
    			<mx:columns>
    				<mx:DataGridColumn headerText="星期" dataField="week"/>
    				<mx:DataGridColumn headerText="苹果" dataField="apple"/>
    				<mx:DataGridColumn headerText="比率" dataField="rate" labelFunction="formatDataGrid"/>
    			</mx:columns>
    		</mx:DataGrid>
    		
    	</mx:VBox>
    </s:Application>
    

    (1)将小数乘以100

           var tempData:Number = item.rate*100;


    (2)对数值格式化,保留两位小数

           var data:String = dataFormatter.format(tempData);


    (3)添加百分号

           return data+"%";


    3、实现结果


  • 相关阅读:
    php 计算两点地理坐标的距离
    objective-c中#import和@class的差别
    我与小娜(07):量子通信的奥
    OpenStack部署到Hadoop的四种方案
    iOS UI13_数据解析XML_,JSON
    Redis集群
    《AndroidStudio有用指南》反馈问题和建议
    numpy函数库中一些经常使用函数的记录
    1015 history grep |mysql
    php 生成压缩文件
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13314799.html
Copyright © 2011-2022 走看看