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. 구현 결과 Flex에서 테이블 열의 값을 디지털 형식으로 지정하고 %를 추가하는 방법에 대한 자세한 내용은 다음과 같습니다. , PHP 중국어 넷에 주목해주세요!