Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5 - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нужна такая
чтобы
результат был равен: 4
Именно 4? Сделаем.
Возможно, Вам именно такая функция и нужна. Отвечал же ТС
Ему именно такая и нужна, потому что (как Вы правильно заметили) далеко не все числа могут быть точно представлены в виде double, а значит решение поставленной задачи без указания точности не имеет смысла (потому что в общем случае приводит к абсурдным результатам)
Ему именно такая и нужна, потому что (как Вы правильно заметили) далеко не все числа могут быть точно представлены в виде double, а значит решение поставленной задачи без указания точности не имеет смысла (потому что в общем случае приводит к абсурдным результатам)
А какие могут быть варианты указания точности не изменяя количество знаков после запятой или как устранить тот недостаток который я описал в своём варианте? Для себя я нашел только (string)value
А какие могут быть варианты указания точности не изменяя количество знаков после запятой или как устранить тот недостаток который я описал в своём варианте? Для себя я нашел только (string)value
Наверно имеется ввиду в каких пределах искать последний не ноль.
пробовал сделать расчет кол-ва знаков после запятой через MathMod() с последовательным делителем 0.1 , затем 0.01 ...0.000(15 нулей) 1 , не прокатило, точность числа все время "плывет" нужно нормализовать каждый раз, а если использовать нормализацию, тогда проще сравнивать искомое число и нормализованное до какого знака - если отличаются, значит нашли последний знак
ЗЫ: есть еще вариант, не успел проверить - умножить вещественное число без целой части на 10^16 и в lоng все это сохранить, а потом делить на 10 и проверять остаток от деления, если = 0, то опять делим
ЗЫ: есть еще вариант, не успел проверить - умножить вещественное число без целой части на 10^16 и в lоng все это сохранить, а потом делить на 10 и проверять остаток от деления, если = 0, то опять делим
Не прокатит.
Используйте double Point()
Тоже проверено, не прокатит.
Вот это
Даёт такой результат
Тоже проверено, не прокатит.