Вопрос: Возможно ли не точное отображение в тексте на графике, цифр или это не возможно и нужно искать ошибку в коде.
Есть код:
Здесь проверка показывает что p == 13
Далее создается текст и в него заносится результат p.
текст создается такой
При отображении на графике результата p = отображает 12;
Зачем столько нормализаций?
p=(priceOpen-price) /_Point; ObjectSetString(chart_ID,name,OBJPROP_TEXT,DoubleToString(p,0));
Рациональные числа, которые не могут быть представлены в виде дроби со знаменателем, являющимся степенью двойки, не могут быть точно представлены в виде конечной двоичной дроби, а, значит, не могут быть в точности представлены в памяти компьютера.
https://server.179.ru/tasks/cpp/total/131.html
Рациональные числа, которые не могут быть представлены в виде дроби со знаменателем, являющимся степенью двойки, не могут быть точно представлены в виде конечной двоичной дроби, а, значит, не могут быть в точности представлены в памяти компьютера.
https://server.179.ru/tasks/cpp/total/131.html
Спасибо да согласен, в принципе я понял что не все числа дробные могут быть представлены. Но я хотел бы знать точно, почему при результате в моем пример p = 13 (вроде как уже целое число). В результате в текст выводиться 12. Значил ли это что результат не гарантирован в точности? при выводе в текст. Спасибо за помощь.
DoubleToString(p,0)
Число́ двойно́й то́чности (Double precision, Double) — компьютерный формат представления числа с плавающей запятой, занимающий в памяти 64 бита, или 8 байт. Как правило, обозначает числа с плавающей запятой стандарта IEEE 754.
https://ru.wikipedia.org/wiki/Число_двойной_точности
Для печати, какую точность задаете, такую и выводит.
DoubleToString(p,0) - это нулевая точность.
DoubleToString(p,0) - это нулевая точность.
Наверное я не правильно объяснил. В данном примере в результате вычеслений получаеться цыфра 13 она правильная, большая точность не нужна. Но в текст выводиться не 13 а 12. Почему цифра меняется?
Наверное я не правильно объяснил. В данном примере в результате вычеслений получаеться цыфра 13 она правильная, большая точность не нужна. Но в текст выводиться не 13 а 12. Почему цифра меняется?
если бы вы указали точность не 0, то наверняка увидели бы цифру 12,99999999999, что по сути является цифрой 13
Делать сравнения с точной цифрой не имеет смысла, потому что либо цена перепрыгнет эту цифру, либо это окажется дробное число.
При сравнении нужно делать >= или <=.
Наверное я не правильно объяснил. В данном примере в результате вычеслений получаеться цыфра 13 она правильная, большая точность не нужна. Но в текст выводиться не 13 а 12. Почему цифра меняется?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вопрос: Возможно ли не точное отображение в тексте на графике, цифр или это не возможно и нужно искать ошибку в коде.
Есть код:
Здесь проверка показывает что p == 13
Далее создается текст и в него заносится результат p.
текст создается такой
При отображении на графике результата p = отображает 12; Что интересно не всегда некорректно отображает то правильно то не правильно.