在XSL中将6,5转换为数字

时间:2016-04-22 11:05:11

标签: xml xslt numbers decimalformat

鉴于XML:

<quest>
  <g_1>
    <name>first</name>
    <value>4,5</value>
  </g_1>
  <g_2>
    <name>first</name>
    <value>4,5</value>
  </g_2>
</quest>

如何在不使用translate转换为的情况下将值作为xsl中的数字使用。 ?

<xsl:value-of select="sum(number(translate(current-group()/VALUE[.!=''],',','.')))" />

这会有效,但我不喜欢这个解决方案。 我无法想到有一个函数,例如在number()函数中添加一个参数来指定&#39; ,&#39;转换或指定字符串的输入语言环境时的十进制分隔符。

我无法使用大多数功能,因为6,5显然不是有效的数字符号。

谢谢!

1 个答案:

答案 0 :(得分:0)

numberxs:doublexs:decimal没有参数可用于解析格式不同的数字。所以你必须首先使用一些字符串函数来获得正确的格式,无论是translate还是replace都取决于你。