8.х ошибка реализации функции Число() в 1С

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем yaro, 2 мар 2007.

  1. TopicStarter Overlay
    yaro
    Offline

    yaro

    Регистрация:
    21 фев 2007
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Добрый день,

    Функция Number() (Число()). В помощи сказано "Значение типа Строка преобразуется в число, если строка представляет из себя правильное строковое представление литерала численного типа. В противном случае будет выдано сообщение об ошибке выполнения функции." Я подал на вход строку "7,96813E-05" и получил ошибку :(. Что делать?

    Ярослав
  2. jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    7,96813E-05, как можно эту строку преобразовать в число
    если ты уберешь лишнии знаки типа "Е" или "-" тогда получиться
  3. TAHk
    Offline

    TAHk Опытный в 1С

    Регистрация:
    31 авг 2006
    Сообщения:
    100
    Симпатии:
    0
    Баллы:
    26
    И действительно: символы после "е" лучше убирать, а конечный вариант умножать на 10 в нужной степени:

    Код:
    ЧислоВСтроке = "7,96813E-05";
    ПозицияСимволаЕ = Найти(ЧислоВСтроке,"E")
    КонечноеЧисло = Число(Лев(ЧислоВСтроке, ПозицияСимволаЕ - 1))*exp(10*log(Число(Прав(ЧислоВСтроке, СтрДлина(ЧислоВСтроке)- ПозицияСимволаЕ))));
    
    кажется так

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