[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 303
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Учусь работать с библиотеками. Пишу эксперт, есть вот такая функция:
Я её выносил в инклюд, всё работает как нужно. А если подключить библиотекой, то при компиляции эксперта возникает ошибка:
Почему данной функции не видно из библиотеки?
Библиотека имеет вот такое содержание и прекрасно компилируется:
Есть котировка, предположим Ask = 1,20667
Из этой котировки нужно вытащить 3-ю цифру после запятой. Т.е. взять значение 1,206, остальные просто отбросить.
Подскажите пож-та как это правильно сделать? т.к. "Нормализация" округляет и получается 1,20700
Я попробовал обойти:
DoubleToStr(Ask,3)
Да, все верно выдает -> 1.206 . Но при возврате в формат Double опять округляет, но уже до 2-го знака после запятой.
Мне не нужны округления. Мне нужно просто взять 2-ю, 3-ю или 4-ю цифру (на выбор задачи) после запятой, а остальные отбросить.
Как это правильно сделать?
Есть котировка, предположим Ask = 1,20667
Из этой котировки нужно вытащить 3-ю цифру после запятой. Т.е. взять значение 1,206, остальные просто отбросить.
Подскажите пож-та как это правильно сделать? т.к. "Нормализация" округляет и получается 1,20700
Я попробовал обойти:
Да, все верно выдает -> 1.206 . Но при возврате в формат Double опять округляет, но уже до 2-го знака после запятой.
Мне не нужны округления. Мне нужно просто взять 2-ю, 3-ю или 4-ю цифру (на выбор задачи) после запятой, а остальные отбросить.
Как это правильно сделать?
Есть котировка, предположим Ask = 1,20667
Из этой котировки нужно вытащить 3-ю цифру после запятой. Т.е. взять значение 1,206, остальные просто отбросить.
Подскажите пож-та как это правильно сделать? т.к. "Нормализация" округляет и получается 1,20700
Я попробовал обойти:
Да, все верно выдает -> 1.206 . Но при возврате в формат Double опять округляет, но уже до 2-го знака после запятой.
Мне не нужны округления. Мне нужно просто взять 2-ю, 3-ю или 4-ю цифру (на выбор задачи) после запятой, а остальные отбросить.
Как это правильно сделать?
Я прошу меня извинить - предполагал, что могу быть неправильно понятным. Постарался уточнить, но все равно эффект остался. - Это моя вина, извините.
Мне нужна не просто цифра (3-я, 4-я и т.п. после запятой), а вся цифра до 2-го, 3-го или 4-го знака после запятой включительно. НО! без округления.
И проблема в том, что когда я обратно возвращаю цифру в тип Double, она снова округляется.
И весь прикол в том, что даже если эту цифру дурацким большим способом перевести по одной буковке сначала в типе Стринг, а затем ее переводить в Дабл,
то она опять округлится. - Вот в чем ирония ситуации. Почему StrToDouble() округляет цифру? - вот этого я не понимаю. Задача функции переделать ее из
одного формата в другой и ничего от себя не "лепить" и не добавлять туда. Но она что-то еще и "улучшает".
Я прошу меня извинить - предполагал, что могу быть неправильно понятным. Постарался уточнить, но все равно эффект остался. - Это моя вина, извините.
Мне нужна не просто цифра (3-я, 4-я и т.п. после запятой), а вся цифра до 2-го, 3-го или 4-го знака после запятой включительно. НО! без округления.
И проблема в том, что когда я обратно возвращаю цифру в тип Double, она снова округляется.
И весь прикол в том, что даже если эту цифру дурацким большим способом перевести по одной буковке сначала в типе Стринг, а затем ее переводить в Дабл,
то она опять округлится. - Вот в чем ирония ситуации. Почему StrToDouble() округляет цифру? - вот этого я не понимаю. Задача функции переделать ее из
одного формата в другой и ничего от себя не "лепить" и не добавлять туда. Но она что-то еще и "улучшает".
Я прошу меня извинить - предполагал, что могу быть неправильно понятным. Постарался уточнить, но все равно эффект остался. - Это моя вина, извините.
Мне нужна не просто цифра (3-я, 4-я и т.п. после запятой), а вся цифра до 2-го, 3-го или 4-го знака после запятой включительно. НО! без округления.
И проблема в том, что когда я обратно возвращаю цифру в тип Double, она снова округляется.
И весь прикол в том, что даже если эту цифру дурацким большим способом перевести по одной буковке сначала в типе Стринг, а затем ее переводить в Дабл,
то она опять округлится. - Вот в чем ирония ситуации. Почему StrToDouble() округляет цифру? - вот этого я не понимаю. Задача функции переделать ее из
одного формата в другой и ничего от себя не "лепить" и не добавлять туда. Но она что-то еще и "улучшает".
: )))))))) Да - правильно. Все упреки принимаю! - За это еще раз извиняюсь. - Это все издержки сильно развитого (специальными упражнениями)
творческой, образной, поэтической и т.д. стороны - все-таки полушария у человека два: творческое и рациональное. Моя вина в том, что я видел это, и не исправил.
Поэтому все Ваши претензии по адресу и я виновен.
но только вопрос остался нерешенным...
Как его в итоге разрешить?
Если Вы считаете, что я чего-то не услышал, то уточните пожалуйста. Я понимаю технику обратной связи (за умение "слышать"), но решения пока не увидел.
Как получить нужное число без округления в формате Дабл, до 3-го знака после запятой, к примеру, в значении Ask = 1,20667 ? - Решение типа "StrToDouble(DoubleToStr(Ask,3)) = 1,2100 // 1,2100 - это получившийся результат (т.е. округляет)" не сработало.
Заранее спасибо за Ваши терпимость и понимание.
Вы в курсе, чем отличается цифра от числа?
: )) Да, конечно, я понимаю разницу. Но в извиняющимся и уточняющем посте все равно сделал эту помарку (Как получить нужную цифру без округления...), пришлось исправлять (и не сразу заметил). Это не непонимание, это вторая сторона развития образности. Увы - это ее издержки. Когда говорят "живой мертвец" или что-то подобное, тоже бессмыслица получается. Но без этого невозможно образное восприятие сути вещей. Я к тому, что это нормально. Не судите строго. : ) Ведь буквальное восприятие тоже не есть гут. - Я буду стараться, в т.ч. и с Вашей помощью, правильно корректировать свое общение. Вместе мы сделаем жизнь лучше и совершеннее. Спасибо за Ваши замечания!