在MT4中通过NormalizeDouble对数字进行四舍五入 - 页 5

 
Dmitry Fedoseev:

这是你的代码。

用3代替2,就是0.036。

它成功了!谢谢你。我将其归一化为3,然后修剪小数点后的多余数字。

你能告诉我,是否有一个标准功能来修剪逗号后的H数字?与StringSubStr 一样,只有当它是一个小数时才会出现。

 
Roman Starinskij:

这就是它的工作原理!谢谢你。我将其规范化为3位数,然后修剪小数点后的多余数字。

你能告诉我是否有一个标准函数来修剪小数点后的H数字?与StringSubStr一样,只有当它是一个小数时才会出现。

如果你想在屏幕上显示数字时对其进行修剪(日志),有DoubleToString() 可以做到。
 
Ihor Herasko:
如果你说的是在输出到屏幕(日志)时修剪数字,那么DoubleToString()就是为了这个目的。

不,DoubleToString和NormalizeDouble() 一样工作。

 
Roman Starinskij:

这就是它的工作原理!谢谢你。我将其规范化为3位数,然后修剪小数点后的多余数字。

你能告诉我是否有一个标准函数来修剪小数点后的H数字?与StringSubStr一样,只有当它是一个小数时才会出现。

没有这样的功能,因为不需要它。你的计算器是错误的。
 
Roman Starinskij:

你能告诉我是否有一个标准函数来截断小数点后的H位数字?与StringSubStr一样,只有当它是一个小数时才会出现。

我使用一个,但它是 "非标准的"。

//+------------------------------------------------------------------+
//| Double Crop function                                             |
//+------------------------------------------------------------------+
double DoubleCrop(double value,int crop)
  {
   string ValueToString="";
   ValueToString=DoubleToString(value,crop);
   return StringToDouble(ValueToString);
  }
//+------------------------------------------------------------------+
 
lilita bogachkova:

我使用一个,但它是 "自定义 "的。

天才之举是什么?

string ValueToString="";
   ValueToString=DoubleToString(value,crop);
 
lilita bogachkova:

我使用一个,但它是 "开箱即用 "的。

刚写完,DoubleToString并不修剪,它的工作方式与NormalizeDouble 相同--四舍五入。不...我们在推土机上。
 

检测到一个故障。

   Alert(
         DoubleToStr(1.15,1)+" "+
         DoubleToStr(1.25,1)+" "+
         DoubleToStr(1.35,1)+" "+
         DoubleToStr(1.45,1)
         );

结果:1.1 1.3 1.4 1.5

1.15的时候,有一个弃权,而对于钢的数字,有一个四舍五入。

 
Dmitry Fedoseev:

检测到一个故障。

结果:1.1 1.3 1.4 1.5

1.15的时候,有一个弃权,而对于钢的数字,有一个四舍五入。

是的,我必须承认在没有检查结果的情况下使用它 :(( )
 

直到开发商删除

字符串长度

字符串中的字符数,不包括尾部的零

你对截断的问题无能为力。