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、实现结果


  • 相关阅读:
    WPS表格:统计有效性(即:设为下拉选择框) 及 统计总数
    windows11桌面开始菜单移到左边
    批量将 大量文件的文件名 更为 提前准备好的文件名(一行一个)
    用微信电脑版视频号进行直播(可播放本地视频、窗口画面)
    华为电脑管家、华为手机助手官方下载地址(手机助手app显示空白,可通过重装pc版助手解决)
    《新三国》1080P(89集全)下载
    idea 使用常见问题汇总
    npm切换源
    springboot 与 springcloud 版本匹配
    Nginx学习笔记
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13314799.html
Copyright © 2011-2022 走看看