I couldn't believe this.
A simple division returns zero without errors. How else can I be guaranteed that my all my previous code is functioning as it was, before these new changes?
double level = 1/2;
MetaQuotes. Really????? What if I have been losing money due to this? Would you refund me? If now, how can such a basic functionality be erroneous?
For sure, I'm considering other platforms now. This is devastating!!!!!
Yep . Try it on any version of any platform
Print("A : 1/2 = "+DoubleToString(div1,2));
Print("B : 1/2 = "+DoubleToString(div2,2));
Print("C : 1/2 = "+DoubleToString(div3,2));
Print("D : 1/2 = "+DoubleToString(div4,2));
Print("E : 1/2 = "+DoubleToString(div5,2));
Print("F : 1/2 = "+DoubleToString(div6,2));
Print("G : 1/2 = "+DoubleToString(div7,2));
Print("H : 1/2 = "+DoubleToString(div8,2));
It thinks the "1" is an int
The rule is to have a double type on the ... how do you call the thing that is divided , the divident
Yeah. I'm really sorry😂
It's a little ironic that this ties in with our discussion of coming from other languages: there are many in which 1 / 2 = 0.5, not 0. While I'm obviously very used to it, I've always regarded it as a counter-intuitive and pointless trap that 1 is treated as (int)1 regardless of cast/context. It's basically a legacy of times when computing power was too limited to put much intelligence into compilers, rather than a useful feature of a language.
The steps by which you then mis-identify something as an external change rather than a persistent bug in your code are, well... if you've never done it, you're the only programmer on earth who hasn't.