1 (edited by stas.kodpi 2020-01-30 12:37:02)

Topic: количество знаков после запятой (например, деньги)

Добрый йдень.
Нужно, что-бы в таблице отображалась колонка с результатами вычислений, но после запятой должно быть два знака (копейки).
Подскажите, как реализовать?


Таблица (TableGrid1)  формы all  -     делаю процедуру на значении OnChange .   У меня колонка по счету 14-ая.
Далее:

procedure all_TableGrid1_OnChange (Sender: TObject);
begin
     // форматирование для колонок
  if all.TableGrid1.Columns[14] is TNxNumberColumn then

  begin

     TNxNumberColumn(all.TableGrid1.Columns[14]).FormatMask := '#,##0; ; ';
    TNxNumberColumn(all.TableGrid1.Columns[14]).Footer.FormatMask := '#,##0';
  end;

end;


Правильно я делаю?   
Если нет - то подскажите, как сделать?

p.s.  У меня в итоге получается округленная сумма до одного значения. А должна быть, к примеру, 1,23

Re: количество знаков после запятой (например, деньги)

да, и еще момент.
Есть стоимость заправки, и счетчик количества отпеатанного.

Вот это и надо вывести итогом в копейках.

Например: стоимость заправки - 100 гривен, счетчик отпечатанного - 9297 страниц.

Я делаю так:
(100/9297)*100


Или стоимость заправки (100 грн), стоимость восстановления (0 грн) , счетчик отпечатанного (9297)..
Делаю так:
((100+0)/9297)*100

Re: количество знаков после запятой (например, деньги)

Здравствуйте Stas,
Если я понимаю ваш вопрос, возможно, вы можете выполнить форматирование как часть «calculated field», используя «printf». После этого таблица будет отображаться без какого-либо дополнительного форматирования, а нижний колонтитул таблицы будет просто суммой значений столбца.
Derek.
(с гугл переводчиком)
.
If I understand your question, perhaps you can do the formatting as part of the “calculated field” using “printf”. After that, the tablegrid will be displayed without any additional formatting, and the tablegrid footer will simply be the sum of the column values.

Post's attachments

Attachment icon displaytwodp.zip 336.46 kb, 253 downloads since 2020-01-30 

Re: количество знаков после запятой (например, деньги)

Попробуйте вот так:
TNxNumberColumn(all.TableGrid1.Columns[14]).FormatMask := '#,##0.00';
TNxNumberColumn(all.TableGrid1.Columns[14]).Footer.FormatMask := '#,##0.00';

Re: количество знаков после запятой (например, деньги)

derek wrote:

Здравствуйте Stas,
Если я понимаю ваш вопрос, возможно, вы можете выполнить форматирование как часть «calculated field», используя «printf». После этого таблица будет отображаться без какого-либо дополнительного форматирования, а нижний колонтитул таблицы будет просто суммой значений столбца.


Простите, я не совсем понимаю, как это. Куда что писать? или настраивать?

На данный момент у меня сработал код, с #.##0.00


Но в футере стоят нули. (т.е. он не суммирует значенния в колонке)

Re: количество знаков после запятой (например, деньги)

Все, разобрался. Спасибо за помощь.