将整数显示为浮点的WSO2脚本中介程序

将整数显示为浮点的WSO2脚本中介程序,wso2,wso2esb,Wso2,Wso2esb,我正在尝试读取脚本中介中INTEGER类型的属性中介的值,并尝试执行一些算术运算。下面是相应的代码段 <property expression="$trp:RETRY_COUNT" name="RETRY_COUNT" scope="default" type="INTEGER" xmlns:ns="http://org.apache.synapse/xsd"

我正在尝试读取脚本中介中INTEGER类型的属性中介的值,并尝试执行一些算术运算。下面是相应的代码段

<property expression="$trp:RETRY_COUNT" name="RETRY_COUNT"
        scope="default" type="INTEGER"
        xmlns:ns="http://org.apache.synapse/xsd" />

    <script language="js"><![CDATA[
          var retry_count_from_header = mc.getProperty('RETRY_COUNT');
          var counter = 1 ;
          if(retry_count_from_header >= 0){ 
                retryCountIncremented =  (Number(retry_count_from_header) + counter);
           }
     ]]></script>

= 0){ 
retryCountIncremented=(数字(从\u头重试\u计数)+计数器);
}
]]>
“计数器”变量的值计算为1.0,而不是1。 因此,“retryCountIncremented”的值始终是一个浮点数

也厌倦了使用Math.trunc()函数,但使用Math函数时出现错误“TypeError:无法在对象[object Math]中找到函数trunc”

如何删除十进制数。我希望计数器是一个没有小数点的整数。 另外,为什么变量总是被计算为float


谢谢。

您可以使用NashorJS代替js,如下所示:

谢谢您的回复。我也有同样的问题,它与单词
表达式
有关。如果使用单词
,则不会发生从字符串到浮点的转换。我知道你需要这个表达式,因为它是一个需要从中获取的动态值,但我只是想澄清一下。