Имя: Пароль:
1C
1C 7.7
v7: Функция Формат(), сдвиг разрядов и разделители групп разрядов
0 Chesnok
 
12.02.14
13:32
Привет всем.
Почему не работает сдвиг разрядов если указаны разделители групп разрядов в функции Формат()? Пример: Формат(ПеремЧисло, "Ч-20.1.,>6")
1 Diter
 
12.02.14
13:41
нафига точка после "1"?
2 Chum
 
12.02.14
13:44
(1) у него дробная часть отделяется точкой, а разряды запятой: 12,000,000.01
3 Chum
 
12.02.14
13:47
Сразу после разделителя дробной части может следовать другой произвольный символ – символ разделитель триад. Если этот символ присутствует, то при форматировании это включает режим группировки цифр целой части числа по 3 цифры в группе. Группы будут отделяться друг от друга символом, указанным в форматной строке. Например, для формата «Ч.02. " число 123456789 будет отформатировано как “123 456 789.00”.

После символов разделителей триад и дробной части или вместо них может идти последовательность “>m”, где m – произвольное число. Эта последовательность включает арифметический «сдвиг» при форматировании. Если число m – положительно, то перед форматированием заданное число сдвигается вправо на заданное количество десятичных позиций (делится на 10 в степени m). Если m – отрицательно, то число сдвигается влево (умножается на 10 в степени -m). Пример:

* «Ч10.2>2» преобразует число 123.45 в “1.23”;
* «Ч10.2>-2» преобразует число 123.45 в “12345”;
4 Chesnok
 
13.02.14
12:36
(3) "После символов разделителей триад и дробной части или вместо них может идти последовательность “>m”, где m – произвольное число. Эта последовательность включает арифметический «сдвиг» при форматировании."

Так вот это и не работает, пример:
Формат(123456789, "Ч-20.1.,>6") выдает 123,456,789.0 вместо положенного 123.5 (релиз 27).
5 Chum
 
13.02.14
12:37
а попробуй убрать разделитель триад
(нет семерки под рукой)
6 Chesnok
 
13.02.14
12:56
(5) Так в этом и весь вопрос, клиент хочет разделители. Все это внешний отчет "Баланс" в котором можно выбирать в каких единицах показывать: рубли, сотни рублей, тысячи рублей и миллионы рублей. Поэтому сдвиг может быть разный, и должны быть разделители групп разрядов.
Независимо от того, куда вы едете — это в гору и против ветра!