首页 > 解决方案 > WSO2 脚本调解器将整数显示为浮点数

问题描述

我正在尝试在脚本调解器内读取 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>

“counter”变量的值被评估为 1.0 而不是 1。因此“ retryCountIncremented ”的值始终是一个浮点数。

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

如何删除十进制数。我期望计数器为不带小数点的整数。还有为什么变量总是被评估为 float ?

谢谢。

标签: wso2wso2esb

解决方案


您可以像这样使用 nashornJs 而不是 js:<script language="nashornJs">


推荐阅读