我正在尝试格式化这个和其他元素,所以它看起来像这样2,590:
<Add_Amount>2,59</Add_Amount>
Run Code Online (Sandbox Code Playgroud)
这样做:
<xsl:decimal-format name="dkk" decimal-separator="," grouping-separator="."/>
Run Code Online (Sandbox Code Playgroud)
....
<xsl:value-of select="translate(format-number(Add_Amount, '#.###,000', 'dkk'), ',', '.')" />
Run Code Online (Sandbox Code Playgroud)
输出来自NaN.任何帮助是极大的赞赏.
谢谢.
//丹尼尔
Dim*_*hev 11
用途:
format-number(translate(., ',','.'), '#.###,000', 'd')
Run Code Online (Sandbox Code Playgroud)
这种转变:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:decimal-format name="d"
decimal-separator="," grouping-separator="."/>
<xsl:template match="/">
<xsl:value-of select=
"format-number(translate(., ',','.'), '#.###,000', 'd')"/>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
当应用于提供的XML文档时:
<Add_Amount>2,59</Add_Amount>
Run Code Online (Sandbox Code Playgroud)
产生想要的结果:
2,590
Run Code Online (Sandbox Code Playgroud)
你的代码的问题是它2,59不是一个有效的数字,必须转换为这个,然后将它作为第一个参数传递给format-number().
translate()Dimitre Novatchev的答案中的额外呼叫似乎没有必要。使用<xsl:decimal-format>足够,例如:
<xsl:decimal-format name="euroFormat" decimal-separator="," grouping-separator="."/>
<xsl:value-of select="format-number(text(), '###.###,00', 'euroFormat')"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24808 次 |
| 最近记录: |