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

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

Miolnir

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

nvyush

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

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#4
isnumeric сперва сделай
а еще лучше дебагером глянь, что на самом деле в строке осталось
 

Omh

Lotus team
04.07.2007
2 210
1
#6
IsNumeric
Val ещё есть
Ну ещё NotesInternetional.DecimalSeparator может пригодиться.
 

morpheus

скриптописец
07.08.2006
3 915
1
#7
Miolnir
может переменная задекларированна 2 раза как глобальная и как локальная?

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

Miolnir

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