在打印带点的十进制值(0)时遇到问题。根据要求,应打印前导(0)零:
XML:。这里所有百分比值都在0.something中。
<root>
<rate final="280" percent="0.1921"/>
<rate final="180" percent="0.18"/>
<rate final="170" percent="0.17201"/>
<rate final="70" percent="0.1"/>
</root>
XSLT:我正在使用具有格式编号功能的XSLT,因为我只需要在点(。)之后输入两位数字即可。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="rate">
<rate>
<xsl:apply-templates select="@*"/>
<xsl:value-of select="concat('Final Percentage is : ', format-number(@percent, '#,###,###,###.00'),'%')"/>
</rate>
</xsl:template>
</xsl:stylesheet>
所需的输出:我想要以0开头的结果。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<rate final="280" percent="0.1921">Final Percentage is : 0.19%</rate>
<rate final="180" percent="0.18">Final Percentage is : 0.18%</rate>
<rate final="170" percent="0.17201">Final Percentage is : 0.17%</rate>
<rate final="70" percent="0.1">Final Percentage is : 0.10%</rate>
</root>
当前输出:我通过XSLT获得的当前结果
<?xml version="1.0" encoding="UTF-8"?>
<root>
<rate final="280" percent="0.1921">Final Percentage is : .19%</rate>
<rate final="180" percent="0.18">Final Percentage is : .18%</rate>
<rate final="170" percent="0.17201">Final Percentage is : .17%</rate>
<rate final="70" percent="0.1">Final Percentage is : .10%</rate>
</root>
答案 0 :(得分:0)
在评论中得到了马丁·霍恩(Martin Honnen)的答复:
将format-number调用的第二个参数更改为0.00,以指示您需要前导零。