Добрый день. Столкнулся со странным (для меня) поведением функции "Строка" в запросе (1С:КА 2 (2.5.16.80)):
(10 знаков после запятой поставлено специально для выделения проблемы).
Результат:
Помогите найти объяснение?
ВЫБРАТЬ
ВЫРАЗИТЬ(0.56 КАК ЧИСЛО(15, 10)),
Строка(ВЫРАЗИТЬ(0.56 КАК ЧИСЛО(15, 10))),
Строка(0.56)(10 знаков после запятой поставлено специально для выделения проблемы).
Результат:
0,56
5600000000
0,56Помогите найти объяснение?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
К сожалению, пока не могу проверить на другой платформе, но продолжил исследование на следующем коде, дабы понять логику ошибки:
ВЫБРАТЬ ВЫРАЗИТЬ(0.000123456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(0.000123456 КАК ЧИСЛО(15, 10))),Строка(0.000123456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(0.00123456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(0.00123456 КАК ЧИСЛО(15, 10))),Строка(0.00123456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(0.0123456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(0.0123456 КАК ЧИСЛО(15, 10))),Строка(0.0123456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(0.123456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(0.123456 КАК ЧИСЛО(15, 10))),Строка(0.123456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(1.23456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(1.23456 КАК ЧИСЛО(15, 10))),Строка(1.23456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(12.3456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(12.3456 КАК ЧИСЛО(15, 10))),Строка(12.3456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(123.456 КАК ЧИСЛО(15, 10)),Строка(ВЫРАЗИТЬ(123.456 КАК ЧИСЛО(15, 10))),Строка(123.456)
ОБЪЕДИНИТЬ ВЫБРАТЬ ВЫРАЗИТЬ(1234560000 КАК ЧИСЛО(20, 10)),Строка(ВЫРАЗИТЬ(1234560000 КАК ЧИСЛО(20, 10))),Строка(1234560000)
ПоказатьПоле1 Поле2 Поле3
0,000123456 0001234560 0,000123456
0,00123456 0012345600 0,00123456
0,0123456 0123456000 0,0123456
0,123456 1234560000 0,123456
1,23456 1,2345600000 1,23456
12,3456 12,3456000000 12,3456
123,456 123,4560000000 123,456
1 234 560 000 1 234 560 000,0000000000 1 234 560 000 Показать
(6) А где вы ошибку нашли?
Тут скорее всего логика платформы на вывод лидирующих нулей, так как в 1м поле вы число как число выражаете, то всё логично для платформы, во 2м варианте вы задаете числу формат и задаете тип строки исходя из заданного формата у вас выводит значение, (у меня на 2х различных платформах) такого не наблюдается, далее 3й вариант - вы напрямую меняете тип числа на строку. Утверждать что на других платформах правильно, а на вашей нет нельзя так же как и в обратном порядке, получается относительно правильно везде.
Тут скорее всего логика платформы на вывод лидирующих нулей, так как в 1м поле вы число как число выражаете, то всё логично для платформы, во 2м варианте вы задаете числу формат и задаете тип строки исходя из заданного формата у вас выводит значение, (у меня на 2х различных платформах) такого не наблюдается, далее 3й вариант - вы напрямую меняете тип числа на строку. Утверждать что на других платформах правильно, а на вашей нет нельзя так же как и в обратном порядке, получается относительно правильно везде.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот