Issues PDF export - Spent time
|Assignee:||Jean-Baptiste Barth||% Done:|
|Target version:||Candidate for next minor release|
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.
#5 Updated by Filou Centrinov about 4 years ago
Daniel Felix wrote:
Maybe this relates to the float_max like #12680?
- 0.1 -> IEEE754 Single precision 32-bit
999999999999999999999999999999 -> IEEE754 Single precision 32-bit
UPDATE: No. It does not relate to #12680.
#6 Updated by Filou Centrinov about 4 years ago
- File pdf.patch added
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?
#9 Updated by Filou Centrinov about 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
#10 Updated by Filou Centrinov about 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.
l_hours fixes the same "bug", but with an additional label.
#13 Updated by Etienne Massip over 3 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 over 3 years ago
For the particular issue I've observed that on Redmine 2.3.1 I had the following time entries:
- 0.30h (I think I've entered "0:20")
5.05with Web User Interface (HTML) --> good
5.050000011920929with PDF-Export --> chould be improved
"spent_hours":5.050000011920929with REST API (JSON) using
http://myhost/redmine/issues/1234.json--> chould be improved
#16 Updated by Toshi MARUYAMA over 3 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 over 2 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.