6.1 WML Script規(guī)則
這些標(biāo)準(zhǔn)函數(shù)庫提供一個(gè)擴(kuò)展WML Script語言的機(jī)制,這些特定的函數(shù)庫必須遵循WML Script的規(guī)則。
支持的數(shù)據(jù)格式
下面的WML Script格式使用于程序的定義之中,這樣能記錄程序參數(shù)與回轉(zhuǎn)值的格式。
Boolean
Integer
Float
String
Invalid
除此之外,如果整數(shù)與浮點(diǎn)數(shù)參數(shù)值格式都能接受的話,則能使用number來記錄參數(shù)格式,如果使用的格式是所支持的格式,則能用any來記錄。
數(shù)據(jù)格式轉(zhuǎn)換
函數(shù)庫程序發(fā)生錯(cuò)誤的處理方式和WML Script語言一樣。
invalid程序參數(shù)會(huì)產(chǎn)生invalid的回傳值。
程序的參數(shù)無法轉(zhuǎn)成所需要使用參數(shù)格式,則會(huì)產(chǎn)生invalid的回傳值。
與程序相關(guān)的錯(cuò)誤得出回傳一個(gè)適當(dāng)?shù)腻e(cuò)誤碼,至于這個(gè)值就要看每個(gè)程序如何定義。
6.2 Lang函數(shù)庫
名稱:Lang
說明:這個(gè)函數(shù)庫所含的程序同WML Script語言的核心有很密切的關(guān)系。
abs
程序:abs(value)
說明:回傳給予數(shù)的絕對(duì)值。
如果給予的數(shù)是整數(shù),則回傳整數(shù)。
如果給予的數(shù)是浮點(diǎn)數(shù),則回傳浮點(diǎn)數(shù)。
參數(shù):value=數(shù)字。
回傳值:數(shù)字或invalid。
例外狀況:var a =-3;
var b =Lang.abs(a);//b=3
min
范例:var a = -3
var b = Lang.abs(a);
var c = Lang.min(a.b);
var d = Lang.min(45、76.3);//d=45(ingteger)
var e = Lang.min(45、76.3);//e=45(ingteger)
max
程序:max(value1,value2)
說明:回傳值給予的兩個(gè)數(shù)之間的較大值,回傳的值于格式同所選數(shù)值的值與格式相同,其選取的方式如下:
WML Script運(yùn)算符數(shù)據(jù)格式的整數(shù)與浮點(diǎn)數(shù)轉(zhuǎn)換法則可用來確認(rèn)數(shù)據(jù)格式,以便執(zhí)行比較的動(dòng)作。
參數(shù):value1 =數(shù)字
value2 =數(shù)字
回傳值:數(shù)字或invalid
例外狀況:無
范例:var a =-3;
var b =Lang.abs(a);//b=3
var c = Lang.min(a.b);
var d = Lang.min(45、76.3);//d=45(ingteger)
var e = Lang.min(45、76.3);//e=45(float)
parseInt
程序:parseInt(value)
說明:回傳由字符串value所定義的整數(shù)值,合法的整數(shù)語法由WML Script數(shù)值字符串文法或是近值整數(shù)是字所界定,下列為額外的解析法則:
第一個(gè)字符不是由+、-或十進(jìn)制數(shù)字當(dāng)開頭的話,解譯結(jié)束。
結(jié)果:解析過的字符串回轉(zhuǎn)換整數(shù)值。
范例:var i =Lang.parseInt("1234"); // i=1234
var j =Lang.parseInt("100 m/s"); // j=100
parseFloat
程序:parseFloat(value)
說明:回傳由字符串value所定義的浮點(diǎn)數(shù)值,合法的浮點(diǎn)數(shù)語法由WML Script數(shù)值字符串文法或是近值整數(shù)實(shí)字所界定,下列為額外的解析法則:
第一個(gè)字符無法解析成浮點(diǎn)數(shù)表達(dá)式,解析結(jié)束。
結(jié)束:解析過的字符串回轉(zhuǎn)換成浮點(diǎn)數(shù)。
參數(shù):value=字符串
回傳值:浮點(diǎn)數(shù)或invalid
例外狀況:解析錯(cuò)誤則傳回invalid
范例:var a =Lang.parseFloat("123.7 Hz"); // a=123.7
var b =Lang.parseFloat("7.34e2 Hz"); // b=7.34e2
var c =Lang.parseFloat("70.0e-2 F"); // c=70.0e-2
var d =Lang.parseFloat("-1.c"); // d=0.1
var e =Lang.parseFloat("100"); // e=100.0
var f =Lang.parseFloat("Number:5.5"); // f=invalid
var g =Lang.parseFloat("7.3e meters"); // g=invalid
var h =Lang.parseFloat("7.3e- m/s"); // h=invalid
isInt
程序:isInt(value)
說明:如果各預(yù)的值value能使用parseInt(value)轉(zhuǎn)成整數(shù)則回傳布爾值ture,否則傳回false。
參數(shù):value=任意值
回傳值:布爾值或invalid
例外狀況:無
范例:var a=Lang.inInt("-123"); //ture
var a =Lang.minInt("123.33"); //ture
var a =Lang.minInt("string"); //false
var a =Lang.minInt("#123"); //false
var a =Lang.minInt("invalid"); //invalid
isFloat
程序:isFloat(value)
說明:如果各預(yù)的值value能使用parseInt(value)轉(zhuǎn)成整數(shù)則回傳布爾值ture,否則傳回false。
參數(shù):value=任意值
回傳值:布爾值或invalid
例外狀況:無
范例:var a=Lang.inInt("-123"); //ture
var a =Lang.minInt("123.33"); //ture
var a =Lang.minInt("string"); //false
var a =Lang.minInt("#123"); //false
var a =Lang.minInt("invalid"); //invalid
maxInt
程序:maxInt()
說明:傳回最大的整數(shù)值。
參數(shù):無
回傳值:整數(shù)2147483647
例外狀況:無
范例:var a =Lang.minInt();
minInt
程序:minInt()
說明:傳回最小的整數(shù)值
參數(shù):無
回傳值:整數(shù)-2147483647
例外狀況:無
范例:var a =Lang.minInt();
float
程序:float()
說明:如果有支持浮點(diǎn)數(shù)的話傳回ture,沒有的話傳回false。
參數(shù):無
回傳值:布爾值
例外狀況:無
范例:var floatsSupported = Lang.float();
exit
程序:exit(value)
說明:結(jié)束WML Script位碼的解譯然后回到調(diào)用WML Script解譯器者的控制,并回傳指定值value,你可以使用這個(gè)程序來執(zhí)行由一般程序的結(jié)束,而且WML Script位碼的執(zhí)行必須停止。
參數(shù):valre=任意值
回傳值:無,這個(gè)程序結(jié)束解譯
例外狀況:無
范例:Lang.exit("Value:" + myVal);//Returns a string
Lang,exit(invalid);// Returns invalid
abort
程序:abort(errorDescription)
說明:中止WML Script位碼的解譯然后回到調(diào)用WML Script解譯器者的控制,并回傳 errorDescription,你能使用這個(gè)程序執(zhí)行不正常的中止,調(diào)用程序者檢測到有嚴(yán)重錯(cuò)誤,WML Script的執(zhí)行并須中斷。
如果errorDescription的格式為invalid,字符串invalid用代替errorDescription的使用。
參數(shù):errorDescription =字符串
回傳值:無,這個(gè)程序結(jié)束解譯
例外狀況:無
范例:Lang.abort("Error:" + errVal); // Error value string
radndom
程序:random(value)
說明:回傳一個(gè)正數(shù)的整數(shù)值,也就是說要大于或等于零,但必須要小于給定值value,回傳值是由近是正常分布所隨機(jī)選取的值。
參數(shù):value=整數(shù)
回傳值:整數(shù)或invalid
例外狀況:如果value等于0,則程序回傳0
如果value小于0,則程序回傳invalid
范例:var a =10;
var b =Lang.random(5.1)*a;//b=0..50
var c = Lang.random("string"); // c=invalid
reed
程序:seed(alue)
說明:初始化需隨機(jī)數(shù)字順序并回傳一個(gè)空字符串
如果value為0或正整數(shù),給予的value則用來初始化,反之則使用隨機(jī)初始化的值。
如果value為浮點(diǎn)數(shù),則會(huì)先使用Float.int()來計(jì)算確切的整數(shù)值。
參數(shù):value=整數(shù)
回傳值:字符串或invalid]
例外狀況:無
范例:var a =Lang.reed(123);// a=""
var b =Lang.random(20); // b=0..20
var c = Lang.seed("seed"); // c=invalid (random seed //left unchanged)
characterSet
程序:characterSet()
說明:回傳WML Script解譯器所支持的字集,回傳只是個(gè)整數(shù)用來記錄由IANA所設(shè)定的MIB Enum值,這個(gè)只能表示所有的字集。
參數(shù):無
回傳值:整數(shù)
例外狀況:無
范例:Var charset = Lang.characterSet(); //charset = 4 for latinl
6.3 Float函數(shù)庫
名稱:Float
說明:這個(gè)函數(shù)庫包含了典型與常用的浮點(diǎn)數(shù)算術(shù)程序。
int
程序:int(value)
說明:回傳給予值的整數(shù)部分。
參數(shù):value=數(shù)字
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a =3.14;
var b =Float.in(a); //b=3
var c =Float.in(-2.8); //c=-2
floor
程序:floor(value)
說明:回傳整數(shù)值,這個(gè)只要最接近給予值但不能大于它。
如果value已經(jīng)是個(gè)整數(shù),其結(jié)果就是這個(gè)值本身。
參數(shù):value=數(shù)字
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a =3.14;
var b =Float.in(a); //b=3
var c =Float.in(-2.8); //c=-3
ceil
程序:ceil(value)
說明:回傳一個(gè)只要最接近給予值但不能小于它的整數(shù)值。
如果value已經(jīng)是個(gè)整數(shù),其結(jié)果就是這個(gè)值本身。
參數(shù):value=數(shù)字
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a =3.14;
var b =Float.in(a); //b=4
var c =Float.in(-2.8); //c=-2
pow
程序:pow(x,y)
說明:回傳x的y次方值。
如果x是負(fù)數(shù),則y必須為正數(shù)。
參數(shù):x=數(shù)字
y=數(shù)字
回傳值:浮點(diǎn)數(shù)或invlid
例外狀況:如果x= =0而且 y<0,則回傳invalid
如果x<0而且y不是個(gè)整數(shù),則回傳invalid
范例:var a =3
var b =Float.pow(a,2); //b=9
round
程序:round(value)
說明:傳回最接近給予值的整數(shù)
若兩個(gè)整數(shù)值跟value接近的程序相等,則選擇比較大的數(shù)。
若value已經(jīng)是個(gè)正數(shù),其結(jié)果就是value本身。
參數(shù):value=數(shù)字
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a=Float.round(3.5); // a=4
var b=Float.round(-3.5); //b=-3
var c=Float.round(0.5); // c=1
var d=Float.round(-0.5); //d=0
squt
程序:sqrt(value)
說明:傳回給予值value的平方根近似值。
參數(shù):value=浮點(diǎn)數(shù)
回傳值:浮點(diǎn)數(shù)或invalid
例外狀況:如果value負(fù)數(shù),則回傳invlid
范例:var a=4;
var b=Float.squt(a); //b=2.0
var c=Float.squt(5); //c=2.2360679775
maxFloat
程序:maxFloat()
說明:傳回IEEE 754所支持的但準(zhǔn)浮點(diǎn)數(shù)格式中最大的浮點(diǎn)數(shù)值。
參數(shù):無
回傳值:浮點(diǎn)數(shù)3.40282347E+38
例外狀況:無
范例:var a=Float.maxFloat();
minFloat
程序:minFloat()
說明:傳回IEEE 754所支持的但準(zhǔn)浮點(diǎn)數(shù)格式中最小的浮點(diǎn)數(shù)值。
參數(shù):無
回傳值:浮點(diǎn)數(shù)1.17549435E-38
例外狀況:無
范例:var a=Float.minFloat();
6.4 string函數(shù)庫
名稱:字符串
說明:這個(gè)函數(shù)庫包含了字符串程序的集合,一個(gè)字符串可以是字符數(shù)組,每個(gè)字符都有個(gè)索引,字符串的第一個(gè)字浮的索引為0,字符串的長度是字符在數(shù)組中的數(shù)目。
你能使用一些特殊的分隔符號(hào)來界定不同的字符串,這樣你就能存取這些有分隔符號(hào)予元素索引所界定出的元素,字符串中第一個(gè)元素的索引值為0,每個(gè)字符串分隔符號(hào)回分隔出兩個(gè)元素,但字符是不能用來做分隔符號(hào)。
一個(gè)空格的字符可能是下列字符其中之一:
TAB:水平跳格定位(horizontal tabulation)
VT:垂直跳格定位(ertival tabulation)
FF:跳頁(from feed)
SP:空格(space)
LF:跳行(line feed)
CR:歸位(carriage return)
length
程序:length(string)
說明:傳回給予字符串的長度(字符的數(shù)目)。
參數(shù):string=字符串
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a="ABC";
var b=string.length(a); //b=3
var c=string.length(""); //c=0
var d=string.length(342); //d=3
is Empty
程序:is Empty(string)
說明:如果字符串長度為零則傳回布爾值true,反之傳回false。
參數(shù):string=字符串
回傳值:布爾值或invalid
例外狀況:無
范例:var a="Hello;
var b="";
var c=sting.isEmpty(a); //c=false
var c=sting.isEmpty(b); //d=ture
var c=sting.isEmpty(ture); //e=false
charAt
程序:charAt(sting.index)
說明:回傳string中index值所指定的字符。
參數(shù):string=字符數(shù)
index=數(shù)字(回傳回index所指定的字符)
回傳值:字符串或invalid
例外狀況:如果index的值超過字符串的范圍,則回傳空字符串("")
范例:var a="My name is Joe"
var b=sting.charAt(a,0); //b= "M"
var c=sting.charAt(a,100); //c= ""
var d=sting.charAt(34.0); //d="3"
var e=sting.charAt(a,"first"); //e=invalid
subString
程序:subString(string,startIndex,length)
說明:傳回一個(gè)新的字符串來代替所給予的字符串, 這個(gè)新字符串給定的索引值開始,它的長度有所給予的length決定。
如果startIndex小于0,則會(huì)0來當(dāng)作索引值。
如果length大于剩余字符的數(shù)目,則lenght會(huì)由剩余的字符數(shù)來代替。
如果startIndex予lenght是浮點(diǎn)數(shù),則會(huì)先使用Float.int()來計(jì)算正確的整數(shù)值。
參數(shù):string=字符數(shù)
startIndex=數(shù)字
lenght=數(shù)字
回傳值:字符串或invalid
例外狀況:如果startIndex大于最后的索引值,則回傳會(huì)空字符串("")
如果lenght<=0,傳會(huì)空字符串("")
范例:var a="ABCD";
var b=String.subString(a,1,2); //b="BC"
var c=String.subString(a,2,5); //c="CD"
var d=String.subString(1234,0,2); //d="12"
find
程序:find(string,substring)
說明:傳會(huì)所要尋找的字符串substring和原始字符串string相符的第一個(gè)字符的索引值。
如果沒有相符,則傳會(huì)整數(shù)值-1。
兩個(gè)字符傳如果是相等的話,是定義為不符合。
參數(shù):string=字符串
substring=字符串
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a="abcde";
var b=String.find(a,"cd"); //b=2
var c=String.find(34.2,"de"); //c=-1
var d=String.find(a,"gz"); //d=-1
var e=String.find(34,"3"); //e=0
replace
程序:eplace(tring,oldSubString,newSubString)
說明:傳會(huì)新字符串,這個(gè)新字符串是由和所給予字符串string相符的舊字符傳oldSubString使用新字符串newSubString字符串加以代替。如果兩字符串相等的話,定義為相符。
參數(shù):string=字符串
oldSubString=字符串
newSubString=字符串
回傳值:字符串或invalid
例外狀況:無
范例:var a="Hello Joe.What is up Joe?";
var newName="Don";
var oldName="Joe";
var c=String.replace(a,oldName,newName); //c="Hello Don.What is up Don?"
var d=String.replace(a,oldName,newName); //c="Hello Don.What is up Don?"
element
程序:element(string,separator)
說明:回傳分隔符號(hào)separator所分隔的字符串string的元素?cái)?shù)目,空字符串("")是有效的元素,這表示了這程序永遠(yuǎn)不會(huì)回傳一個(gè)小于或等于0得值。
參數(shù):string=字符串
separator=字符串
回傳值:整數(shù)或invalid
例外狀況:如果separator是個(gè)空字符串,則回傳invalid
范例:var a="My name is Joe;Age 50";
var b=String.elements(a,"");//b=6
var c=String.elements(a,";");//c=3
var d=String.elements("",";");//d=1
var e=String.elements("a","");//e=1
var f=String.elements(";",";");//f=2
var g=String.elements(";;,;",";,");//g=4
separator=;
elementAt
程序:elementAt(string,index,separator)
說明:尋找字符串string的第index個(gè)元素,這些元素是由分隔符號(hào)separator所加以分開,并回傳相對(duì)應(yīng)的元素。
如果index值小于0,則回傳第一個(gè)元素。
如果index值大于元素的數(shù)目,則回傳最后一個(gè)元素。
如果字符串為空字符串,則回傳空字符串。
如果index值為浮點(diǎn)數(shù),則須先使用Float.int()來計(jì)算出正確的索引值。
參數(shù):string=字符串
index=數(shù)字
separator=字符串
回傳值:字符串或invalid
例外狀況:如果separator是個(gè)空字符串,則回傳invalid
范例:var a="Hello Joe.What is up Joe?";
var b=String.elementAt(a,0,""); //b="My"
var b=String.elementAt(a,14,";"); //c=" "
var b=String.elementAt(a,1,";"); //d="Age 50"
removeAt
程序:removeAt(string,index,separator)
說明:將符合索引值index的分隔號(hào)separator與元素有字符串string中移出,并回傳這個(gè)新字符串。
如果index值小于0,則回傳第一個(gè)元素。
如果index值大于元素的數(shù)目,則回傳最后一個(gè)元素。
如果字符串為空字符串,則回傳空字符串。
如果index值為浮點(diǎn)數(shù),則須先使用Float.int()來計(jì)算出正確的索引值。
參數(shù):string=字符串
element=字符串
index=數(shù)字
separator=字符串
回傳值:字符串或invalid
例外狀況:如果separator是個(gè)空字符串,則回傳invalid
范例:var a=" A A;B C D";
var s= "";
var c=String.removeAt(a,1,s); //b="A B C D"
var d=String.removeAt(a,0,";"); //c=" B C D"
var e=String.removeAt(a,14,";"); //d="A A"
replaceAt
程序:replaceAT(string,index,separator)
說明:在特定的index中的元素,使用所給予的元素element來代替,并回傳這個(gè)新字符串。
如果index值小于0,則回傳第一個(gè)元素。
如果index值大于元素的數(shù)目,則回傳最后一個(gè)元素。
如果字符串為空字符串,則回傳空字符串。
如果index值為浮點(diǎn)數(shù),則須先使用Float.int()來計(jì)算出正確的索引值。
參數(shù):string=字符串
element=字符串
index=數(shù)字
separator=字符串
回傳值:字符串或invalid
例外狀況:如果separator是個(gè)空字符串,則回傳invalid
范例:var a= "B C; E";
var s="";
var d=String.replaceAT(a,"A",0,s); //b="A C;E"
var e=String.replaceAT(a,"F",5,";"); //d="B C;F"
InsertAt
程序:insertAt(string,index,separator)
說明:將元素element與相對(duì)應(yīng)的分隔符號(hào)separator插入與原始字符串string,在特定的element中的元素
如果index值小于0,則0會(huì)用來當(dāng)索引值。
如果index值大于元素的數(shù)目,則元素element會(huì)附加上字符串string的為端。
如果字符串string為空字符串,則回傳包含所給予元素element的新字符串。
如果index值為浮點(diǎn)數(shù),則需先使用Float.int()來計(jì)算出正確的索引值。
參數(shù):string=字符串
element=字符串
index=數(shù)字
separator=字符串
回傳值:字符串或invalid
例外狀況:如果separator是個(gè)空字符串,則回傳invalid
范例:var a= "B C; E";
var s="";
var b=String.insertAt(a,"A",0,s); //b="A B C;E"
var c=String.insertAt(a,"X",3,s); //c="B C;E X"
var d=String.insertAt(a,"D",1,";"); //d="B C;D;E"
var e=String.insertAt(a,"F",5,";"); //e="B C;E;F"
squeeze
程序:squeeze(string)
說明:將字符串string中所有連續(xù)的空格減少為一個(gè)空格。
參數(shù):stromg=字符串
回傳值:字符串或invalid
例外狀況:無
范例:var a="Hello";
var b="Bye Jon.See you!";
var c=String.squeeze(a); //c="Hello"
var d=String.squeeze(b); //d="Bye Jon.See you!"
trim
程序:trim(string)
說明:將字符串string中所有開頭與連續(xù)的空格刪除。
參數(shù):string=字符串
回傳值:字符串或invalid
例外狀況:無
范例:var a="Hello";
var b="Bye Jon.See you!";
var c=String.squeeze(a); //c="Hello"
var d=String.squeeze(b); //d="Bye Jon.See you!"
compare
程序:compare(string,string2)
說明:這個(gè)程序的回傳值會(huì)指出string1與string2在語匯上關(guān)系,這個(gè)關(guān)系是基于自然字集的字符碼之間,其回傳值如下:
如果string1小于string2,傳會(huì)-1。
如果string1等于string2,傳會(huì)-1。
如果string1大于string2,傳會(huì)-1。
參數(shù):string1=字符串
string2=字符串
回傳值:整數(shù)或invalid
例外狀況:無
范例:var a="Hello";
var b="Hello";
var c=String.compare(a,b); //c=0
var d=String.compare("Bye","Jon"); //d=-1
var e=String.compare("Jon","Bye"); //e=1
toString
程序:toString(value)
說明:回傳一個(gè)能表示所給予的值value的字符串,這個(gè)程序跟WML Script的轉(zhuǎn)換是一樣的,除了invlaid值會(huì)回傳一個(gè)"invalid"字符串。
參數(shù):value=任意值
回傳值:字符串
例外狀況:無
范例:var a=string.toString(12); // a="12"
var a=string.toString(true); // b="true"
format
程序:format(format,value)
說明:將給予的值value轉(zhuǎn)換成字符串,并依照所給予的格式format提供的格式化的字符串,這個(gè)格式字符串只能由一種特定格式,并能放置于字符串的任何地方,如果超過一種以上的格式需要使用,則能會(huì)使用最左邊的格式,至于其他格式則有空字符串代替,這些格式如下:
[width][.precision]type
width參數(shù)為非負(fù)的是近制整數(shù),這個(gè)參數(shù)控制與顯現(xiàn)字符的最小數(shù)目,如果輸出的字?jǐn)?shù)小于指定的寬度width,則會(huì)在字符串的左邊加上空白,直到符合最小寬度的要求,width參數(shù)永遠(yuǎn)不會(huì)是值value被刪減,如果輸出的字?jǐn)?shù)大于特定的寬度或并沒指定寬度的話,value中所有的字符都會(huì)被顯現(xiàn)。
precision參數(shù)是個(gè)非負(fù)的十進(jìn)制整數(shù),這個(gè)引號(hào)之前必須限價(jià)上(.)的符號(hào),其目的是用來設(shè)定輸入值的精確度,這個(gè)值的解議會(huì)跟給予的格式有關(guān):
d 界定數(shù)字最小的顯現(xiàn)數(shù)目,如果value中數(shù)字的數(shù)目超過precision的值,輸入值會(huì)在其左邊加上0,如果數(shù)字的數(shù)目超過precision值,value的值并不會(huì)被刪減,預(yù)設(shè)的precision值為1,如果precision值設(shè)定為0,而且value頁被轉(zhuǎn)換成0,則結(jié)果將是一個(gè)空字符串。
f 界定十進(jìn)制小數(shù)后的數(shù)字?jǐn)?shù)目,如果十進(jìn)制的小數(shù)點(diǎn)出現(xiàn)了,在小數(shù)點(diǎn)之后至少要有一位數(shù),這個(gè)值會(huì)被四舍五入到近似的數(shù)字?jǐn)?shù)值,預(yù)設(shè)的precision為6,如果precision為0或小數(shù)點(diǎn)(.)后沒有數(shù)字,則不會(huì)顯現(xiàn)小數(shù)點(diǎn),當(dāng)value值的小數(shù)點(diǎn)后數(shù)字?jǐn)?shù)目小于precision的值,字母0為被加入直到填滿欄位(如:String.format("%2.3f",1.2)會(huì)是"1.200")
s 界定字符所要顯現(xiàn)的最大數(shù)目,預(yù)設(shè)值是顯現(xiàn)所有的字符,當(dāng)width值大于precision值,width值是可以忽略的,跟width值不同的是,precision只可能會(huì)造成浮點(diǎn)數(shù)值的四舍五入或輸入值的刪減。
type參數(shù)是唯一格式的參數(shù),他出現(xiàn)在任何的格式欄為選項(xiàng)之后,type字符決定了所給予的value將會(huì)解譯成整數(shù),浮點(diǎn)數(shù)或字符串,支持的type參數(shù)如下:
d 整數(shù):輸入值的格式[-]dddd,這里的dddd是一個(gè)或以上的十進(jìn)制數(shù)字。
f 浮點(diǎn)數(shù):輸入值的格式[-]dddd.dddd,這里的dddd是一個(gè)或以上的十進(jìn)制數(shù)字,在小數(shù)點(diǎn)之前的數(shù)字?jǐn)?shù)目和數(shù)字的大小有關(guān),小數(shù)點(diǎn)之后的數(shù)字?jǐn)?shù)目和精確度有關(guān)。
s 字符串:字符的顯現(xiàn)跟精確度有關(guān)。
百分比字符(%)在格式字符串中能使用額外的百分比字符加以表示(%%)。
參數(shù):format=字符串
value=任意值
回傳值:字符串或invalid
例外狀況;無效的格式會(huì)回傳invalid值。
范例:var a=45;
var b=-45;
var c="now";
var d=1.2345678;
var e=String.format("e:%6d",a); //e="e:45"
var e=String.format("%6d",b); //f="-45"
var e=String.format("e:%6d",a); //g="0045"
var e=String.format("%6.4d",b); //h="-0045"
var e=String.format("Do it %s",c); //i="Do it now"
var e=String.format("%3f",d); //j="1.2345678"
var e=String.format("%10.2f%%",a); //k="1.23%."
var e=String.format("%3f %2f",a); //l="1.234567."
var e=String.format("%.0d",0); //m=""
var e=String.format("%.7d","Int"); //n="invalid"
var e=String.format("%s",ture); //o="ture"
新聞熱點(diǎn)
疑難解答
圖片精選