输出字符串(例如)为“ 12,236,15”。 我无法更改为系统格式或输入字符串。
预期结果: 12356.15
我使用:
<xsl:value-of select="format-number(translate('12,236,15', ',','.'), '#.00')"/>
它与仅包含一个“逗号”符号的字符串一起使用时效果很好。 我可以仅将一个符号从末尾更改为“点”吗?
结尾可能是'12,236,156'(有3个数字),因此固定子字符串不匹配。
答案 0 :(得分:1)
我想澄清是否可能,或者这是错误,另一个部门应该首先修复它。
两者。对于小数点和千位分隔符都使用逗号绝对不是表示数字的好方法。
仍然,这似乎在XSLT 2.0中有效:
<xsl:variable name="number" select="replace(input, ',(\d*)$', '.$1')" />
<xsl:variable name="number" select="translate($number, ',', '')" />
<xsl:value-of select="format-number($number, '#.00')"/>