diff --git a/src/@report_series/report_series.m b/src/@report_series/report_series.m
index 10fb42d01619bdcad38e97ba3b24d6be6817a423..ba303e5a77a6fba8eea63f419071db5c2bb2c108 100644
--- a/src/@report_series/report_series.m
+++ b/src/@report_series/report_series.m
@@ -14,7 +14,7 @@ function o = report_series(varargin)
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 2013-2016 Dynare Team
+% Copyright (C) 2013-2017 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -75,6 +75,8 @@ o.tableRowIndent = 0;
 o.tableDataRhs = '';
 o.tableNaNSymb = 'NaN';
 
+o.tablePrecision = '';
+
 o.zeroTol = 1e-6;
 
 if nargin == 1
diff --git a/src/@report_series/writeSeriesForTable.m b/src/@report_series/writeSeriesForTable.m
index 73b46963717fbe18135d2814e36bedff058fa32c..de78c10cdfe9a4204ff94bfc0c8ce5d28fbbda23 100644
--- a/src/@report_series/writeSeriesForTable.m
+++ b/src/@report_series/writeSeriesForTable.m
@@ -17,7 +17,7 @@ function o = writeSeriesForTable(o, fid, dates, precision, ncols, rowcolor)
 % SPECIAL REQUIREMENTS
 %   none
 
-% Copyright (C) 2013-2016 Dynare Team
+% Copyright (C) 2013-2017 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -65,6 +65,12 @@ assert(islogical(o.tableAlignRight), '@report_series.writeSeriesForTable: tableA
 assert(isfloat(o.tableMarkerLimit), '@report_series.writeSeriesForTable: tableMarkerLimit must be a float');
 assert(ischar(o.tableNaNSymb), '@report_series.writeSeriesForTable: tableNaNSymb must be a string');
 
+if ~isempty(o.tablePrecision)
+    assert(isint(o.tablePrecision) && o.tablePrecision >= 0, ...
+           '@report_series.writeSeriesForTable: tablePrecision must be a non-negative integer');
+    precision = o.tablePrecision;
+end
+
 %% Write Output
 fprintf(fid, '%% Table Row (report_series)\n');
 if ~isempty(o.tableRowColor) && ~strcmpi(o.tableRowColor, 'white')