XSLT:显示尾随零

时间:2012-11-26 16:10:54

标签: xml xslt zero

我在XSD中定义了一个十进制变量,例如可以包含值1,5; 1,50; 1550; 1500; ...所以,它可以有一个未知的小数,甚至包括零。 现在我编写了一个XSLT(2.0)并将与Saxon一起执行。

问题是我想在XML中“按原样”显示值,唯一的区别是我想使用正确的,依赖于语言的小数点分隔符。

format-number选项只允许我使用字符(#或0),无论是删除尾随零,还是在后一种情况下“硬编码”零的数量....

是否有任何选项可以让我做我需要的,而不需要回到小数分隔符的String替换,因为我觉得这将是格式数函数的严重短缺?

1 个答案:

答案 0 :(得分:1)

编写一个函数来为您创建格式数字格式,其中考虑了原始值中使用的小数位数。

format-number(., concat('###,###.', substring('0000000000000', 1, concat(string-length(substring-after(., ','))))), euro)

使用十进制格式进行语言依赖格式化:

<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>