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

 
Алексей Тарабанов:
20世纪80年代初,毕业于诺金斯克编程学校的Antonina Loseva在我的精心指导下工作。下面是她解决四舍五入问题的方法:int A = double B + 0.5

谢谢你的故事,现在 "int A = double B + 0.5 "问题解决了:int A = (int)MathCeil(double B)。

但在这种情况下,问题是如何在不进行四舍五入的情况下进行切割。

 
lilita bogachkova:

谢谢你的故事,现在 "int A = double B + 0.5 "问题解决了:int A = (int)MathCeil(double B)。

但在这种情况下,这是一个如何在不四舍五入的情况下进行切割的问题。

不进行四舍五入的切割很容易,只要不进行四舍五入就可以了(不增加双倍的0.5个四舍五入步骤)。

在速度方面,将你的结构与我的比较,你的是不正确的,对不起...

 
Dmitry Fedoseev:

DoubleToStr(0.9999,3)=1.000

因此,请得出你的结论。

3和它有什么关系?我们正在使用Bid和Digits。

我不知道你在说什么。在另一个主题中,我聊了三页。那如何在这里切入,比如说在你的例子中不知道小数点后的字符数,而你证明了0和不计数,对吗?

DoubleToStr(0.9999,4)

然后模式一个字符

 
Алексей Тарабанов:

不进行四舍五入的修剪很容易,只要不进行四舍五入就可以了(不要用0.5个四舍五入的步骤增加双倍数)。

...

代码?

 
Vasyl Nosal:

int A =double B

你的心在跳动吗?

 
Vasyl Nosal:

3和它有什么关系?我们正在使用Bid和Digits。

我不知道你在说什么。在另一个主题中,我聊了三页。那如何在这里切入,比如说在你的例子中不知道小数点后的字符数和你证明的0和不计数,对吗。

我不知道你在那里得到了什么。我们将其截断为一定数量的字符。
 
Алексей Тарабанов:

int A =double B

你的心在跳动吗?

这个代码已经有了吗?

这就更好了NormalizeDouble(1.15-0.05,1)。

:)))))))))))))))

 
Dmitry Fedoseev:
我不知道你在说什么。我们似乎要丢弃多达一个固定数量的字符。
我们会的。但我们将双数转换为整数的小数字符上的字符串。
 
Vasyl Nosal:

这个代码已经有了吗?

这就更好了NormalizeDouble(1.15-0.05,1)。

:)))))))))))))))

是的,这很有趣...
 
Vasyl Nosal:

...

DoubleToStr(0.99999,4)

然后模式一个字符

这个怎么样?