Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Напишите здесь примеры вариантов ввода времени в виде строки. Чтобы можно было точно понять, что если все они обрабатываются корректно, то функция работает правильно.
Например, так и не понял, почему штатная функция + несколько StringReplace (всего 4 строки) не в состоянии решить задачу?
Напишите здесь примеры вариантов ввода времени в виде строки. Чтобы можно было точно понять, что если все они обрабатываются корректно, то функция работает правильно.
Например, так и не понял, почему штатная функция + несколько StringReplace (всего 4 строки) не в состоянии решить задачу?
Самый простой вариант: " s_:34". И это один из безобидных вариантов.
Самый простой вариант: " s_:34". И это один из безобидных вариантов.
Не понял. Что функция должна выдать при такой строке "1_:34"?
Не понял. Что функция должна выдать при такой строке "1_:34"?
Будет ошибка, так как символ "_" будет заменён на ":"
"1_:34" -> "1::34"
в итоге в строке "1::34" будет найдено два разделителя, а это ошибка.
Будет ошибка, так как символ "_" будет заменён на ":"
Спрашиваю, что должна вернуть функция?
Спрашиваю, что должна вернуть функция?
При входной строке "1_:34" функция
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Перевод string в часы и минуты
Vladimir Karputov, 2017.09.07 05:44
Спасибо за подсказки.
Самый первый шаг теперь выглядит так: отсечь пробелы справа и слева, а потом проверить текст на длину.
Шаг второй: замена "-" и "_" на корректный разделитель ":", а потом поиск разделителя ":"
на данной этапе (пока реализованы только два шага проверок) вернёт "false".
Спасибо за подсказки.
Самый первый шаг теперь выглядит так: отсечь пробелы справа и слева, а потом проверить текст на длину.
Шаг второй: замена "-" и "_" на корректный разделитель ":", а потом поиск разделителя ":"
1. Зачем делать раздельные функции проверки введённой строки и её преобразование в секунды ??? Не рационально ни с какого бока. Если строка совсем безнадёжна, пусть функция выдаст алерт и вернёт WRONG_VALUE, если не совсем - пусть отрихтует и вернёт секунды
2. Пробелы - обычное дело не только до/перед, но и вокруг разделителя :
3. Где вы видели время с подчёркиванием, лубопытно?
4. Если добавите финальную проверку на наличие любого символа, кроме цифр и двоеточия, это исчерпает абсолютное большинство ошибок ввода
1. Зачем делать раздельные функции проверки введённой строки и её преобразование в секунды ??? Не рационально ни с какого бока. Если строка совсем безнадёжна, пусть функция выдаст алерт и вернёт WRONG_VALUE, если не совсем - пусть отрихтует и вернёт секунды
В секунды никто не преобразует. После всех проверок можно будет идти двумя путями:
2. Пробелы - обычное дело не только до/перед, но и вокруг разделителя :
Пробел внутри приравнивается в ошибке ввода - если такое встретится - будет ошибка.
3. Где вы видели время с подчёркиванием, лубопытно?
От пользователя можно ожидать всё, что угодно. Ничего исключать нельзя.
4. Если добавите финальную проверку на наличие любого символа, кроме цифр и двоеточия, это исчерпает абсолютное большинство ошибок ввода
Третий шаг как раз у будет реализовывать проверку "этот символ представляет цифру?".
В секунды никто не преобразует. После всех проверок можно будет идти двумя путями:
Пробел внутри приравнивается в ошибке ввода - если такое встретится - будет ошибка.
От пользователя можно ожидать всё, что угодно. Ничего исключать нельзя.
Третий шаг как раз у будет реализовывать проверку "этот символ представляет цифру?".
Ну уж на явных дебилов не стоит ориентироваться. Если он не умеет ввести формат времени в строку, то скорее всего он не сможет запустить программу в терминале.