我有以下代码,用于使用xslt1
执行简单的乘法<observedRate>
<xsl:value-of select="Input * 100"/>
</observedRate>
然而,当Input = 0.0107时,上面返回1.069999999999999999998而不是1.07。
我过去曾经遇到过这个问题一两次,并且通过做类似下面的事情(在这种情况下有效)来设法克服它。
<observedRate>
<xsl:value-of select="( Input div 10) * 1000"/>
</observedRate>
我对这个解决方案有几个问题,即
对于使用xslt1进行乘法运算是否有一个很好的解决方案,它适用于输入变量不是已定义的长度的所有情况?
答案 0 :(得分:0)
试试这个:
<xsl:value-of select='format-number(Input * 100, "#.00")' />
http://www.w3schools.com/xsl/func_formatnumber.asp
希望这有帮助!