共用方式為


format-number 函式

將數字轉換為字串。轉換乃是將第一個引數 (number) 中所指定的數字格式化、再使用第二個引數 (string) 中所指定的格式,然後套用第三個選擇性引數 (string) 中命名的小數格式所定義的規則,所產生的結果。若省略第三個引數 (小數格式名稱),則會使用預設的小數格式。根據設計,此函式可與 <xsl:decimal-format> 項目一起使用。

string format-number(number, string, string?)

備註

第一個引數會指定輸入值。例如,數值 5351。

第二個引數會指定格式模式。例如,字串 '###.###,00'。

第三個引數為選擇性的小數格式名稱。如此一來,任何字元都可在格式模式字串中使用;字元會被指派 <xsl:decimal-format> 項目中的角色。一般小數格式名稱為 european,可用來從預設值復原逗號與句號的角色。

在格式模式中支援下列字元 "."、","、"#"、"%"、"0" 以及 Unicode 千分比字元 (#x2030)。"#" 字元可用來說明整數。"." 與 "," 字元可用來說明標點的位置與型別。"0" 字元可用來在 "." 字元前後放置 0,以免該位置成為非數值,例如 00.3 或 3.00。截斷小數點右邊的位數時,該數字會捨入。小數點左邊的數字絕不會截斷。

輸入值與格式模式字串必須同時存在,否則會產生錯誤。若無法使用 number() 函式中的規則將輸入值強制轉型為數字,則 format-number 函式會傳回 NaN。若格式模式字串並非有效的模式字串,函式就會傳回未變更的輸入值。

小數格式名稱 (若存在) 代表 <xsl:decimal-format> 項目中所指定之小數格式的名稱。小數格式名稱必須是限定名稱。若您在函式中指定小數格式名稱,則樣式表中必定有相同名稱的 <xsl:decimal-format> 項目。

<xsl:decimal-format> 項目可覆寫預設的數字格式模式。<xsl:decimal-format> 項目會遵循 java.text.DecimalFormat 類別的格式規範模式。如需使用 format-number 函式搭配 <xsl:decimal-format> 的相關範例,請參閱 <xsl:decimal-format> 項目

範例

下列 XSLT 程式碼會傳回 "24.535,20":

<xsl:decimal-format name="european" decimal-separator=',' grouping-separator='.' />
<xsl:value-of select="format-number(24535.2, '###.###,00', 'european')"/>

下列函式呼叫會傳回 "5,351":

format-number(5351,"#,###")

下列函式呼叫會傳回 "5351.00":

format-number(5351, "#.00")

下列函式呼叫會傳回 "53.5100":

format-number(53.51, "#.0000")

下列函式呼叫會傳回 "0053.5100":

format-number(53.51, "0000.0000")

下列函式呼叫會傳回 "0053.51":

format-number(53.51, "0000.####")

下列函式呼叫會傳回 "53.6":

format-number(53.56, "0.0")

如需使用 XSLT 樣式表將此函式套用至 XML 資料的完整範例,請參閱 <xsl:decimal-format> 的範例

請參閱

參考

XML 資料型別參考

<xsl:decimal-format> 項目