По умолчанию DOM API использует максимальное количество цифр, необходимое для точного представления числа в виде текста в отчете. Чтобы контролировать количество цифр, используемых для представления числа, задайте формат числа с помощью следующих подходов:
Установите формат номера по умолчанию путем вызова mlreportgen.dom.setDefaultNumberFormat
функция.
Переопределите формат по умолчанию для одного числа, представив число как mlreportgen.dom.Number
объект и включая mlreportgen.dom.NumberFormat
объект в Style
свойство Number
объект.
Переопределите формат по умолчанию для всех номеров в элементе документа, таком как абзац, таблица или список, путем включения mlreportgen.dom.NumberFormat
объект в Style
свойство объекта, который представляет элемент.
Чтобы задать спецификацию формата по умолчанию, которую DOM API использует для форматирования числовых данных, используйте mlreportgen.dom.setDefaultNumberFormat
функция. Укажите спецификацию формата, которая действительна для sprintf
и который использует %f
, %e
, %E
, %g
, или %G
оператор. Для примера этот код задает четыре цифры после десятичной точки:
mlreportgen.dom.setDefaultNumberFormat("%0.4f");
mlreportgen.dom.Number
объекты. Для примера этот код использует формат по умолчанию, чтобы представлять pi
в отчете:import mlreportgen.dom.* setDefaultNumberFormat("%0.4f"); d = Document("myDoc","pdf"); append(d,Paragraph(pi)); close(d); rptview(d);
В отчете pi
сгенерирован как 3.1416
.
Чтобы задать формат для одного числа:
Представьте число как mlreportgen.dom.Number
объект.
Задайте формат номера в mlreportgen.dom.NumberFormat
объект и включать в себя NumberFormat
объект в Style
свойство Number
объект.
Для примера этот код использует формат номера по умолчанию для первого образца pi
и переопределяет формат по умолчанию для второго образца pi
:
import mlreportgen.dom.* setDefaultNumberFormat("%0.4f"); d = Document("myDoc1","pdf"); p1 = Paragraph("pi with default format: "); append(p1,pi); append(d,p1); p2 = Paragraph("pi with number format: "); n = Number(pi); n.Style = {NumberFormat("%0.2f")}; append(p2,n); append(d,p2); close(d); rptview(d);
Вот цифры в отчете:
Формат номера можно задать для всех номеров в элементе документа, таком как абзац, таблица или список, путем включения mlreportgen.dom.NumberFormat
объект в Style
свойство объекта, который представляет элемент документа. Например, этот код указывает, что числа в первом абзаце используют формат по умолчанию и что числа во втором абзаце имеют две цифры после десятичной точки:
import mlreportgen.dom.* setDefaultNumberFormat("%0.4f"); d = Document("myDoc2","pdf"); p1 = Paragraph("pi with default format: "); append(p1,pi); append(d,p1); p2 = Paragraph("pi with paragraph format: "); p2.Style = {NumberFormat("%0.2f")}; append(p2,pi); append(d,p2); close(d); rptview(d);
Вот цифры в отчете:
Пример, задающий формат для всех чисел в таблице, см. в разделе Номера формата в таблице.
mlreportgen.dom.getDefaultNumberFormat
| mlreportgen.dom.Number
| mlreportgen.dom.NumberFormat
| mlreportgen.dom.setDefaultNumberFormat
| sprintf