В эту тему были перенесены комментарии, не относящиеся к "Ошибки, баги, вопросы".
- Ошибки, баги, вопросы
- Особенности языка mql5, тонкости и приёмы работы
- Индикатор от индикатора
Vasyl Nosal:
число, переданное в качестве параметра в функцию StringLen неявно приводится к типу string, в связи с чем последний нолик отбрасывается. Передайте в функцию именно строку и увидите правильное значение.
Хочу узнать длину числа.
StringLen(1.3450);
Выходит 5. Это круто. Каким образо мне получить 6?
Vladislav Andruschenko:
обрезает 0
StringLen((string)(1.3450));
попробуйте так
coderex:
число, переданное в качестве параметра в функцию StringLen неявно приводится к типу string, в связи с чем последний нолик отбрасывается. Передайте в функцию именно строку и увидите правильное значение.
А где мне взять именно строку?
число, переданное в качестве параметра в функцию StringLen неявно приводится к типу string, в связи с чем последний нолик отбрасывается. Передайте в функцию именно строку и увидите правильное значение.
Vasyl Nosal:
Хочу узнать длину числа.
StringLen(1.3450);
Выходит 5. Это круто. Каким образо мне получить 6?
Print(StringLen(DoubleToString(1.3450,4)));
Результат:
2016.02.25 15:50:18.799 Test (EURUSD,H1) StringLen(1.3450): 6
Это... это не тот ноль. Это спецсимвол \0. Под строку может быть выделено памяти больше чем строка, поэтому конец строки обозначается элементом со значением 0. Но это не в нашем ведении. Зря вообще в справке про этот ноль написано. Смысл в том, что в памяти строка занимает, как минимум, на один символ больше, но нас это не колышит никаким образом.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь