ОБСУЖДЕНИЕ

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

7 ответов 5,5 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

Добавлено:
Или какой-нибудь шутник вместо 1 (один) указал l (эль).
можно проверить код через Asc
 
isnumeric сперва сделай
а еще лучше дебагером глянь, что на самом деле в строке осталось
 
строка тримнута, по кодам там число.
 
IsNumeric
Val ещё есть
Ну ещё NotesInternetional.DecimalSeparator может пригодиться.
 
Miolnir
может переменная задекларированна 2 раза как глобальная и как локальная?

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

Статистика тем

Создано
Miolnir,
Последний ответ от
Miolnir,
Ответы
7
Просмотры
5 476