php trader_ema(php中的指数移动平均)函数前导零';s浮动

php trader_ema(php中的指数移动平均)函数前导零';s浮动,php,arrays,Php,Arrays,我想使用PHP。但是,前导零的结果为零的数组的输入。例如: realArray = array(0.0000002,0.000004,0.00005,0.00003); var_dump(trader_ema ( $realArray, 2 )); //Output: array(5) { [1]=> float(0) [2]=> float(0) [3]=> float(0) [4]=> float(0) } 我认为问题在于PHP使用科学符号将其浮点存储到数组中

我想使用PHP。但是,前导零的结果为零的数组的输入。例如:

realArray = array(0.0000002,0.000004,0.00005,0.00003);
var_dump(trader_ema ( $realArray, 2 )); 

//Output: 
array(5) { [1]=> float(0) [2]=> float(0) [3]=> float(0) [4]=> float(0) }

我认为问题在于PHP使用科学符号将其浮点存储到数组中。但经过搜索,我还没有找到解决办法。有什么想法吗?

尝试设置此选项:

ini_set('trader.real_precision', '8');
var_dump(trader_ema(array(0.0000002, 0.000004, 0.00005, 0.00003), 2 ));
输出:

array(3) {
  [1]=>
  float(2.1E-6)
  [2]=>
  float(3.403E-5)
  [3]=>
  float(3.134E-5)
}

也许试着用int来看看它是否有浮点数的问题,科学记数法,正如你所说的值与浮点数相同,所以它不应该是问题,很可能函数需要int(没有人使用浮点数的函数)。嗯,int不允许像0.00002这样的数字来自我的数据集。我已经找到了一个暂时有效的解决方法,但我仍然希望使用trader_ema函数。解决方法:$lastEMA5=0$k=2/(5+1);对于($i=0;$i)