开发者

XSL vs Regionalisation/Internationalization Number Formats

开发者 https://www.devze.com 2023-02-02 19:49 出处:网络
Is there any regionalisation support built into XSL when it comes to formatting numbers? At present my underlying XML contains numbers in UK/US format, for example 54321.12345.I can do a select sum o

Is there any regionalisation support built into XSL when it comes to formatting numbers?

At present my underlying XML contains numbers in UK/US format, for example 54321.12345. I can do a select sum on this to give me a total in the same format. I can format the number using format-number(54321.12345, '###,###.#####') to give me 54,321.12345.

However when I want this to run on a different region setting on my machine such as Central European countries which have the comma seperator as "." and the decimal seperator as "," I want to format my numbers in this way to give me 54.321,123开发者_如何学Go45.

Is there a nice way to do this in XSL?

Thanks,

Andez


From http://www.w3.org/TR/xslt#format-number

The xsl:decimal-format element declares a decimal-format, which controls the interpretation of a format pattern used by the format-number function.

<!-- Category: top-level-element -->
<xsl:decimal-format
  name = qname 
  decimal-separator = char 
  grouping-separator = char 
  infinity = string 
  minus-sign = char 
  NaN = string 
  percent = char 
  per-mille = char 
  zero-digit = char 
  digit = char 
  pattern-separator = char />


I now have the following xsl:

<!-- define number format to use -->
<xsl:decimal-format name="european" decimal-separator=',' grouping-separator='.' />

<!-- format the number -->
<xsl:value-of select="format-number(54321.12345,'###.##0,0000', 'european')"/>
0

精彩评论

暂无评论...
验证码 换一张
取 消