xml - XSLT:显示尾随零

标签 xml xslt zero

我在 XSD 中定义了一个十进制变量,例如可以包含值 1,5; 1,50; 1,550; 1,500; ...所以,它可以有一个未知的小数位数,甚至由零组成。 现在我已经编写了一个 XSLT (2.0) 并将使用 Saxon 执行。

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

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

是否有任何可用的选项允许我做我需要的事情,而不需要回退到小数点分隔符的字符串替换,因为我觉得这将严重缺乏格式数字功能?

最佳答案

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

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

对语言相关格式使用十进制格式:

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

关于xml - XSLT:显示尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13568659/

相关文章:

java - 在 spring-mvc 中使用抽象工厂模式时出现空指针异常

xml - 如何在 XSLT 中用单词/字符串替换特殊字符?

php - zerofill一个整数php

mysql - Openfire 自定义数据库登录

android - 给定资源值的 <color> 无效

xml - 如何将 HTML R 对象转换为字符?

jquery - XSLT 用于使用 javascript 过滤 XML 文档

xml - XSL - 恒等变换 - 改变元素的值

perl - 当参数的值是 0 时,为什么我的 Perl 程序会打印帮助消息?

sql - 更改SUM会将NULL返回零