在MT4中通过NormalizeDouble对数字进行四舍五入 - 页 8 123456789101112131415...17 新评论 Vladimir Suslov 2016.02.25 19:13 #71 Dmitry Fedoseev:好了,错了。减法,归一到两位数,然后再归一。那就试试吧 :) Dmitry Fedoseev 2016.02.25 19:14 #72 Event:那就试试吧 :) 有什么可以尝试的呢?这是很清楚的。减法的结果是非正常化的,所以如果你不正常化到两位数,有时会有意外。 [删除] 2016.02.25 19:16 #73 Event:你需要哪一个?你需要知道绳子的长度 吗?- 你确定你有正确的树枝吗?代码?如果像我这样超过2行,那么你的代码就比较复杂了。 Vladimir Suslov 2016.02.25 19:22 #74 Vasyl Nosal:代码?如果像我这样超过2行,那么你的代码就比较复杂了。你没有仔细阅读你的帖子。我给了你代码--它有一行。 [删除] 2016.02.25 20:05 #75 Event:你没有仔细阅读帖子。我给了你代码--它里面有一行。 这很好。我在我的代码中这样写1.15 normalise:))))))))))))))))))))))))))))))))))))))))))))))))))) Lilita Bogachkova 2016.02.25 20:12 #76 Vasyl Nosal: +++然而,如果一个数字超过了小数点后15位,它仍然必须以某种方式被截断,否则它将无法正常工作。//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { ushort Characters_delete=15; for(int i=0;i<=Characters_delete;i++) { double v1=1.123456789012345; v1=DoubleCrop(v1,i,Characters_delete); Print("v1 = ",i," = ",DoubleToString(v1,Characters_delete-i)); } Print("---"); } //+------------------------------------------------------------------+ //| Double Crop function | //+------------------------------------------------------------------+ double DoubleCrop(double value,int ii,ushort Characters) { string data="",resoult=""; data=DoubleToString(value,Characters); resoult=StringSubstr(data,0,StringLen(data)-ii); return StringToDouble(resoult); } //+------------------------------------------------------------------+ Dmitry Fedoseev 2016.02.25 20:32 #77 Event:那就试试吧 :) 用零和用负数都是错的。有了积极的,令人惊讶的,没有任何意外的,正确的。 Dmitry Fedoseev 2016.02.25 20:33 #78 Vasyl Nosal:extern ushort Characters_delete = 1; /////////////////////////////////////////// string data=DoubleToString(Bid,Digits); string resoult=StringSubstr(data,0,StringLen(data)-Characters_delete); 呵。那是错误的方式。完全错误的结果。 Vladimir Suslov 2016.02.25 20:43 #79 Dmitry Fedoseev: 它对零和负数都是错误的。有了积极的,令人惊讶的,没有意外的,是正确的。负的应该加到(如果四舍五入时Normalize增加modulo)。而且可能什么都不做,以零为代价。如果应用于一个报价--其成为<=0的概率很小......:) Алексей Тарабанов 2016.02.25 20:46 #80 关于四舍五入的八页。我想这曾经是四年级的内容:( 123456789101112131415...17 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
好了,错了。
减法,归一到两位数,然后再归一。
那就试试吧 :)
那就试试吧 :)
你需要哪一个?
你需要知道绳子的长度 吗?- 你确定你有正确的树枝吗?
代码?
如果像我这样超过2行,那么你的代码就比较复杂了。
代码?
如果像我这样超过2行,那么你的代码就比较复杂了。
你没有仔细阅读你的帖子。
我给了你代码--它有一行。
你没有仔细阅读帖子。
我给了你代码--它里面有一行。
+++
然而,如果一个数字超过了小数点后15位,它仍然必须以某种方式被截断,否则它将无法正常工作。
那就试试吧 :)
Vasyl Nosal:
它对零和负数都是错误的。有了积极的,令人惊讶的,没有意外的,是正确的。
负的应该加到(如果四舍五入时Normalize增加modulo)。
而且可能什么都不做,以零为代价。
如果应用于一个报价--其成为<=0的概率很小......:)