今天遇到個很棘手但難以解決的問題!就是關于Double顯示科學計數法問題!

比如10000000.21的Double類型 卻顯示成10.00000021E7 其實如果這個用String 類型輸出的話很容易解決。
如:
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(a));
或
public static String formatNum(double value)
{
String retValue = null;
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(0);
df.setMaximumFractionDigits(2);
retValue = df.format(value);
retValue = retValue.replaceAll(",", "");
return retValue;
}
都可以不以科學計數法顯示的 但是返回的都是String 類型
大家有沒有考慮過。
如果讓Double類型不變的前提,非科學計數法顯示了。?
到最后實在沒辦法 。只有在頁面做文章了。
當在頁面獲取數據顯示前 ,對他格式化下!
用FMT:FORMATNUMBER 標簽;試試
具體寫法:
<fmt:formatNumber value="${caseForm.caseBean.payinfo.paymentFee}" pattern="0.00"/>
模塊(Module)開發的優點自不待說。Flex Project中建立多個Application,并不能減少主文件swf的體積,可能還會增加。Module是編譯進另一個swf實體,自然減少了主 swf的體積。BTW,在創建Module時,注意選擇關聯的主swf,這可以使Module減肥不少,原理不再絮叨。
--=========================================================================
下面開始完成這次實踐吧
1)創建myComponent/LoginComponent.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="344" height="208" backgroundColor="#F3E8BA">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function getUserName():void{
Alert.show(username.text);
}
]]>
</mx:Script>
<mx:TextInput x="92" y="45" id="username"/>
<mx:Button x="126" y="105" label="Show Name" click="getUserName()"/>
</mx:Canvas>
2)創建ModuleTest.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="530" height="394" backgroundColor="#F5BFBF" xmlns:mp="myComponent.*">
<mp:LoginComponent x="93" y="67"/>
</mx:Module>
3)編譯ModuleTest.mxml
在命令行CMD進入后輸入 mxmlc ModuleTest.mxml (這里要寫上ModuleTest.mxml的絕對路徑 )
4)創建 Main.mxml 主應用程序
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Style source="CssTest.css" />
<mx:Script>
<![CDATA[
//利用ModuleLoader加載模塊
public function addMod():void{
mod1.url="ModuleTest.swf";//url指向modOne.mxml
mod1.loadModule();//發出指令調用模塊
}
]]>
</mx:Script>
<mx:panel>
<mx:ModuleLoader x="409" y="76" url="ModuleTest.swf"/>
<mx:ModuleLoader x="409" y="110" id="mod1"/>
<mx:Button x="918" y="499" label="Add Module" click="addMod()"/>
</mx:panel>
</mx:Application>
注:本例中嘗試了兩種方法載入module
<mx:ModuleLoader x="409" y="76" url="ModuleTest.swf"/> 是直接載入MODULE
<mx:ModuleLoader x="409" y="110" id="mod1"/>
<mx:Button x="918" y="499" label="Add Module" click="addMod()"/> 則是通過接口方式來載入MODULE