2012-07-22 47 views
2

我在理解如何在XML格式編號中使用逗號時遇到一些困難。 例如, <xsl:value-of select="format-number(123456,'####,##')"/>無法理解如何在格式編號中使用逗號XML

給我12,34,56 但是從我讀,逗號是一組分離器,所以我想它應該是1234,56。顯然,我對它的理解是錯誤的。有人可以向我解釋嗎?

回答

3

我可以明白爲什麼你會期望1234,56,這也是我的預期,直到我去仔細查看規範。它把你的照片####,##和計算「整數部分分組位置」作爲你的圖片中包含分組分隔符的位置列表:這個列表僅僅是(2)。然後它說:「如果這些整數部分分組位置是有規律的間隔(即,如果它們形成一個序列N,2N,3N ......,對於某個整數值N,包括只有一個數字的情況在列表中),那麼[分組位置]的序列包含N的所有整數倍數,儘可能地容納最大可能的數字。「

因此,這裏分組位置的順序最終是(2,4,6,8,...)。事實上,你的照片在位置4沒有分組分隔符,這並沒有進入規則 - 它可能應該,但事實並非如此。您將不得不使用#,################ ##等圖片來實現此格式。順便說一下,這是從XSLT 2.0開始的。 XSLT 1.0規範通過引用DecimalFormat的JDK 1.1.8規範來定義格式編號,這很難掌握當今;如果記憶正確地爲我服務,它就會留下許多未解答的詳細問題。