2010-08-10 46 views
0

目前我使用下面的NumberFormatter:柔性4.1的NumberFormatter:配置顯示一個精度只有數爲浮動

<mx:NumberFormatter id="numberFormatter" precision="1" useThousandsSeparator="true" /> 

所以它改變5.43234234至5.4。

我希望NumberFormatter不顯示任何精度,如果沒有一個。

這意味着如果數字是5.0,我希望它格式化爲5,而不是5.0。

我該怎麼辦?

使用Flex 4.1

感謝

回答

2

我認爲你需要整合自己的ActionScript代碼,你不能只用MXML標籤做到這一點。例如:

private function toPrecisionOrRound(number:Number, precision:int):String { 
    String result = number.toPrecision(int); 
    String rounded = number.toFixed(0); 
    if (Number(result) == Number(rounded)) { 
    // they are equal so the toPrecision must have zeros at end 
    return rounded; 
    } else { 
    return result; 
    } 
} 

我還沒有運行這個,但我認爲它會工作。

1

或者你可以用這個函數的輸出:

private function clearTrailingZero(valueString:String):String { 
    return valeString.replace(/\.0/, ""); 
} 
相關問題