• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Конвертация из строки в число

  • Автор темы Miolnir
  • Дата начала
M

Miolnir

Возник следующий....ступор. Вопшем есть функция, получающая на входе строку, в которой указаны некоторые числа через пробел. Задача функции сложить все числа в строке. сложного ничего особо нет, но на некоторых числах вываливается "Type Mismatch". а именно тупит при передаче следующего числа
Код:
CDbl(m_str) 'где m_str является вычлененным из строки числом "1227"
думал что (малоли вдруг) вывалился за рамки допустимых значений конктретного типа...но ошибка вылетала даже при попытке сконвертировать в CInt, CLng и пр.
 
N

nvyush

Может проблема с разделителем (точка, запятая). Или какой-нибудь шутник вместо 1 (один) указал l (эль). В некоторых шрифтах они очень похожи.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
isnumeric сперва сделай
а еще лучше дебагером глянь, что на самом деле в строке осталось
 
M

Miolnir

строка тримнута, по кодам там число.
 
O

Omh

IsNumeric
Val ещё есть
Ну ещё NotesInternetional.DecimalSeparator может пригодиться.
 
M

morpheus

Miolnir
может переменная задекларированна 2 раза как глобальная и как локальная?

я бы тоже зделал как ToxaRat
 
M

Miolnir

проблему решил, тот кто формировал строку, заносил числа не через пробелы, а через ввод (ентром) иногда добавляя в конце строки пробелы. дебаггер видел в переменной, например, не 12 и 27, а 1227, хотя по факту там было два разных числа, оттуда и вылезала ошибка с конвертацией походу.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!