Defect #12510

Issues PDF export - Spent time

Added by Luboš Schrámek over 4 years ago. Updated 8 months ago.

Status:ConfirmedStart date:
Priority:NormalDue date:
Assignee:Jean-Baptiste Barth% Done:

0%

Category:PDF export
Target version:Candidate for next minor release
Resolution: Affected version:2.6.0

Description

Hello,

How to simulate problem?
  • add Spent time column to issues
  • modify Spent time in some issue to 2.45
  • export table to PDF

There will be a columns Spent time with 2.45000004768372. I hope there are missing some number format func(), can you please fix this problem? I am making these exports for customers and it looks bad.

Thanks.

export.pdf - error in pdf (311 KB) fangzheng (方正), 2012-12-07 07:07

pdf.patch Magnifier - get pretty float values for spent time and estimated time (436 Bytes) Filou Centrinov, 2013-02-12 01:44

pdf.rb.patch Magnifier (531 Bytes) Filou Centrinov, 2013-03-06 12:36

web-edit.png (4.52 KB) Toshi MARUYAMA, 2013-08-05 12:06

0001-Round-floats-to-2-digits-when-rendering-an-issue-lis.patch Magnifier (739 Bytes) Holger Just, 2014-10-29 15:34


Related issues

Related to Redmine - Defect #13780: Spent hours have excessive flaction in PDF exported ticke... Closed

History

#1 Updated by fangzheng (方正) over 4 years ago

Mark. Waiting for solution.
BTW, this issue doesn't occur on CSV.

#2 Updated by Filou Centrinov over 4 years ago

I'm seeing the same problem in Redmine 2.2.1.
In my Database the spent time values is for example 0.1, but the pdf export displays 0.100000001490116.

#3 Updated by Daniel Felix over 4 years ago

Maybe this relates to the float_max like #12680?

#4 Updated by Daniel Felix over 4 years ago

  • Priority changed from High to Normal

#5 Updated by Filou Centrinov over 4 years ago

Daniel Felix wrote:

Maybe this relates to the float_max like #12680?

Yes, obviously both bugs (this ticket and #12680) have the same causation (floating point error):

UPDATE: No. It does not relate to #12680.

#6 Updated by Filou Centrinov over 4 years ago

To get pretty float values for spent time and estimated time I created this patch: /lib/redmine/export/ pdf.patch

If the value is empty or zero the pdf cell keeps empty, so you get a better overview on spent and estimated hours.

Could you merge this to redmine?

#7 Updated by Filou Centrinov over 4 years ago

Please, could you fix this with redmine 2.3?

#8 Updated by Daniel Felix over 4 years ago

Filou Centrinov wrote:

UPDATE: No. It does not relate to #12680.

Why not? It seems for me to be again some floating point error, which we've encounter many times in different systems.

#9 Updated by Filou Centrinov over 4 years ago

Daniel Felix wrote:

Why not? It seems for me to be again some floating point error, which we've encounter many times in different systems.

The difference is: In #12680 the number is too big, so the floating precision can not be provided. In this issue we are within the floating precision, so the correct presentation should be provided.

The problem is internal caused by displaying a value with a higher precision then the value originaly had. So 0.1 becomes 0.100000001490116, because the type of variable had a precision of 32bit that allows only 8 positions after decimal point. Therefore this problem can easly fixed by: "%.2f" % value
See: pdf.rb.patch

#10 Updated by Filou Centrinov over 4 years ago

In /lib/redmine/i18n.rb is a function called l_hours to format hours into a value+label string. If this function would'nt be used in /app/view/issues/show.html.erb you get the same effect of displayed spent time.

So l_hours fixes the same "bug", but with an additional label.

#11 Updated by Filou Centrinov over 4 years ago

#12 Updated by Filou Centrinov about 4 years ago

Please fix this. It's a small fix. ... or make it to a candidate.

#13 Updated by Etienne Massip about 4 years ago

  • Status changed from New to Confirmed
  • Target version set to Candidate for next minor release

I can confirm the defect although I'm not fond of the patch, is it possible to fix every single float value display at once rather than specific attributes?

Edit: confirmed with MRI 1.9.3

#14 Updated by David Lukas Müller about 4 years ago

+1
For the particular issue I've observed that on Redmine 2.3.1 I had the following time entries:
  • 3.50h
  • 1.25h
  • 0.30h (I think I've entered "0:20")
And that is what I see:
  • 5.05 with Web User Interface (HTML) --> good
  • 5.050000011920929 with PDF-Export --> chould be improved
  • "spent_hours":5.050000011920929 with REST API (JSON) using http://myhost/redmine/issues/1234.json --> chould be improved

#15 Updated by Toshi MARUYAMA about 4 years ago

David Lukas Müller wrote:

  • 5.05 with Web User Interface (HTML) --> good

Web edit form has same problem.

#16 Updated by Toshi MARUYAMA about 4 years ago

You can see by following change.

diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb
--- a/app/views/issues/_attributes.html.erb
+++ b/app/views/issues/_attributes.html.erb
@@ -63,7 +63,7 @@
 <% end %>

 <% if @issue.safe_attribute? 'estimated_hours' %>
-<p><%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
+<p><%= f.text_field :estimated_hours, :size => 6, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %></p>
 <% end %>

 <% if @issue.safe_attribute?('done_ratio') && @issue.leaf? && Issue.use_field_for_done_ratio? %>

#17 Updated by Holger Just almost 3 years ago

The attached patch (which was extracted from Planio) fixes this issue for all float values in table cells. This patch thus addresses the concerns of Etienne above.

The patch works agains current trunk but should apply similarly to earlier versions. The used method is the one used in the QueriesHelper#column_value method and thus should produce results similar to it.

#18 Updated by Jan from Planio www.plan.io almost 3 years ago

  • Assignee set to Jean-Baptiste Barth

In case you were still looking for easy fixes :)

#19 Updated by Jean-Baptiste Barth almost 3 years ago

  • Affected version changed from 2.1.2 to 2.6.0

I do :) First I'll try to add some tests to this part of the code but no pb I'll merge it after.

#20 Updated by Olivier Houdas 8 months ago

Tested on 3.3.1, still occurs.

Also available in: Atom PDF