格式化数字
默认情况下,DOM API 使用在报告中准确将数字表示为文本所需的最大位数。要控制用于表示数字的位数,请使用以下方法指定数字格式:
通过调用
mlreportgen.dom.setDefaultNumberFormat函数设置默认数字格式。通过将数字表示为
mlreportgen.dom.Number对象并在Number对象的Style属性中包含mlreportgen.dom.NumberFormat对象来覆盖一个数字的默认格式。通过在代表元素的对象的
Style属性中包含mlreportgen.dom.NumberFormat对象,覆盖文档元素(例如段落、表或列表)中所有数字的默认格式。
设置默认数字格式
要设置 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对象包含在Number对象的Style属性中。
例如,此代码对 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);
以下是报告中的数字:

指定段落、表或列表的数字格式
您可以通过在代表文档元素的对象的 Style 属性中包含 mlreportgen.dom.NumberFormat 对象来指定文档元素(例如段落、表或列表)中所有数字的数字格式。例如,此代码指定第一段中的数字使用默认格式,第二段中的数字小数点后有两位:
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);
以下是报告中的数字:

有关指定表中所有数字格式的示例,请参阅 表中的数字格式。
另请参阅
sprintf | mlreportgen.dom.getDefaultNumberFormat | mlreportgen.dom.setDefaultNumberFormat | mlreportgen.dom.Number | mlreportgen.dom.NumberFormat