国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

15.2.如何創(chuàng)建一個自定義的Formatter

2024-04-27 13:52:19
字體:
供稿:網(wǎng)友
15.2.1 問題
假如你想創(chuàng)建一個自定義的formatter, 用來接收任何正確的字符串并以一個正確的格式來返回結(jié)果, 應(yīng)怎么辦呢?
15.2.2 解決辦法
可以把Formatter 類擴(kuò)展并把format 方法覆蓋重寫。
15.2.3 討論
在format 方法里頭, 可以創(chuàng)建一個名為SwitchSymbolFormatter 的成員并將一個特定格式的字符串傳遞給SwitchSymbolFormatter 的formatValue 方法, 這些包含著”#”號的字符串用來代入所需的內(nèi)容的。舉例說, 如果把”###-###”這個格式及”123456”這個字符串的傳遞給formatValue 方法, 它就會返回”123-456”。這個結(jié)果正是由我們所自定義的formatter 類中的format 方法返回的。

這些包含”#”號的字符串, 都會被所有傳遞給Formatter 的字符所代入。其工作原理十分簡單,就是以循環(huán)的方式, 把這個字符串里每個字符逐個代入, 最后得出一個已經(jīng)格式化的字符串。
代碼如下:
+展開
-ActionScript
package oreilly.cookbook{
import mx.formatters.Formatter;
import mx.formatters.SwitchSymbolFormatter;
public class ISBNFormatter extends Formatter
{
public var formatString : String = "####-##-####";
public function ISBNFormatter()
{
super();
}
override public function format(value:Object):String
{
//我們需要去檢查字符串的長度
//ISBN的長度可以分別為10或13位數(shù)
if( ! (value.toString().length == 10 ||
value.toString().length == 13) )
{
error="Invalid String Length";
return ""
}
//根據(jù)我們的format string的”#”號總數(shù)來計(jì)算
var numCharCnt:int = 0;
forvar i:int = 0; i<formatString.length; i++ ) {
if( formatString.charAt(i) == "#" ) {
numCharCnt++;
}
}
//如果我們不能給格式化的字符串提供長度符合的字符串的話
//這樣子就會返回一個錯誤!
if( ! (numCharCnt == 10 || numCharCnt == 13) ) {
error="Invalid Format String";
return ""
}
//如果formatString跟所提供的值都有效, 就把這個數(shù)目格式化.
var dataFormatter:SwitchSymbolFormatter =
new SwitchSymbolFormatter();
return dataFormatter.formatValue( formatString, value );
}
}
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洱源县| 新龙县| 潮州市| 韩城市| 合阳县| 西平县| 五大连池市| 韶关市| 武隆县| 宝鸡市| 大城县| 富锦市| 黄浦区| 临猗县| 登封市| 商南县| 龙胜| 金川县| 克什克腾旗| 太保市| 武清区| 永川市| 涟水县| 雷州市| 镶黄旗| 江永县| 读书| 巴楚县| 阿合奇县| 岳阳县| 郓城县| 佛冈县| 梁平县| 东辽县| 凉城县| 于田县| 图们市| 宝兴县| 高碑店市| 鄂尔多斯市| 新河县|