|
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) Так в этом и весь вопрос, клиент хочет разделители. Все это внешний отчет "Баланс" в котором можно выбирать в каких единицах показывать: рубли, сотни рублей, тысячи рублей и миллионы рублей. Поэтому сдвиг может быть разный, и должны быть разделители групп разрядов.
|
|