XSLT中计算负指数幂报错求助
XSLT中计算负指数幂报错求助
嘿,我来帮你捋捋这个问题!你遇到的异常大概率是因为你用的XSLT处理器的math:power扩展函数不支持负指数参数——很多旧版的XSLT 1.0扩展函数只处理非负的幂次,传入负数自然就会抛出错误。
给你两个可行的解决方案:
- 如果你能使用XSLT 2.0及以上版本,建议换成标准的
math:pow()函数(注意是pow不是power),这个标准函数是支持负指数的,写法如下:<xsl:value-of select="math:pow(7, -2)"/> - 如果只能停留在XSLT 1.0环境,那可以手动实现负指数的计算逻辑:因为一个数的负指数幂等于1除以该数的正指数幂,所以改成下面的写法就能绕过函数的限制,同时得到正确结果:
<xsl:value-of select="1 div math:power(7, 2)"/>
对了,顺便提一句:7的-2次方实际是1/49≈0.0204,你期望的.07应该是笔误啦😉
备注:内容来源于stack exchange,提问作者n718an
相关产品推荐
相关产品推荐

