在使用kettle处理number相加问题时,在写一些 JavaScript 代码的时候(其实是把一份 C++ 代码翻译成 JavaScript),我需要处理 JavaScript 由于 Number 仅支持到 2^53 ,导致使用var直接相加导出溢出(当时数值已经达到超过19位),此时就需要使用BigNumber来进行数值相加减。如果kettle中没有BigNumber.js包,可以再网上下载一个该包,放置在kettle的lib目录下,使用LoadScriptFile函数加载,使用相对路径加载,如下所示
// 在脚本顶部声明使用BigNumber
LoadScriptFile("lib\\bignumber.js");
// 加载BigNumber.js库
var var1 = new BigNumber(LASTSYNCVALUE);
var var2 = new BigNumber(SYNCINTERVALVALUE);
Alert(var1);
Alert(var2);
var var3 = var1.plus(var2);
Alert("是数字" + var3);
var varMaxVal = var3; // 使用BigNumber的方法进行运算
setVariable("MaxIncrementVal",varMaxVal,"r");//设置为root变量
JavaScript的BigNumber.js下载:
https://download.youkuaiyun.com/download/u013196348/89929406