1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

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

Тема в разделе "Lotus - Программирование", создана пользователем Miolnir, 26 янв 2011.

  1. Miolnir

    Miolnir Well-Known Member

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

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Может проблема с разделителем (точка, запятая). Или какой-нибудь шутник вместо 1 (один) указал l (эль). В некоторых шрифтах они очень похожи.
     
  3. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.445
    Симпатии:
    8
    не могут где-то пробелы затесаться? может, тримнуть строку перед пребразованием?

    Добавлено:
    можно проверить код через Asc
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Команда форума Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.164
    Симпатии:
    20
    isnumeric сперва сделай
    а еще лучше дебагером глянь, что на самом деле в строке осталось
     
  5. Miolnir

    Miolnir Well-Known Member

    Репутация:
    0
    Регистрация:
    6 май 2010
    Сообщения:
    50
    Симпатии:
    0
    строка тримнута, по кодам там число.
     
  6. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    IsNumeric
    Val ещё есть
    Ну ещё NotesInternetional.DecimalSeparator может пригодиться.
     
  7. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.920
    Симпатии:
    1
    Miolnir
    может переменная задекларированна 2 раза как глобальная и как локальная?

    я бы тоже зделал как ToxaRat
     
  8. Miolnir

    Miolnir Well-Known Member

    Репутация:
    0
    Регистрация:
    6 май 2010
    Сообщения:
    50
    Симпатии:
    0
    проблему решил, тот кто формировал строку, заносил числа не через пробелы, а через ввод (ентром) иногда добавляя в конце строки пробелы. дебаггер видел в переменной, например, не 12 и 27, а 1227, хотя по факту там было два разных числа, оттуда и вылезала ошибка с конвертацией походу.
     
Загрузка...

Поделиться этой страницей