Anpassung des Reports: Formatierung der Dezimalzahlen

by Micha ⌂, Bad Vilbel, Friday, April 30, 2021, 13:36 (15 days ago) @ Achim

Hallo Achim,

geht es Dir nur um die Ausgabe im Report? Dort kannst Du die angezeigten Stellen gern von den Einstellungen der Applikation entkoppeln. In der Report_(Default).ftlh Datei findest Du oben folgende Zeilen:

<#-- Decimal format w.r.t. user preferences -->
<#assign df_angle              = "${digits_angle???then(digits_angle, 0.00000)};;                      roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_angle_residual     = "${digits_angle_residual???then(digits_angle_residual, 0.00)};;       roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_angle_uncertainty  = "${digits_angle_uncertainty???then(digits_angle_uncertainty, 0.00)};; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
 
<#assign df_length             = "${digits_length???then(digits_length, 0.00000)};;                      roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_length_residual    = "${digits_length_residual???then(digits_length_residual, 0.00)};;       roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_length_uncertainty = "${digits_length_uncertainty???then(digits_length_uncertainty, 0.00)};; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
 
<#assign df_scale              = "${digits_scale???then(digits_scale, 0.00000)};;                      roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_scale_residual     = "${digits_scale_residual???then(digits_scale_residual, 0.00)};;       roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_scale_uncertainty  = "${digits_scale_uncertainty???then(digits_scale_uncertainty, 0.00)};; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
 
<#assign df_percentage         = "${digits_percentage???then(digits_percentage, 0.00)};; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_statistic          = "${digits_statistic???then(digits_statistic, 0.00)};;  roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">

Hier wird also definiert, wieviel Dezimalstellen im Report für welchen Type ausgegeben werden sollen. Die erste Zeile:

<#assign df_angle              = "${digits_angle???then(digits_angle, 0.00000)};;                      roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">

legt die Variable df_angle für das Winkelformat fest. Es wird geprüft, ob die Variable digits_angle existiert. Wenn dies der Fall ist, dann wird der Inhalt der Variable df_angle = digits_angle (plus die Optionen zum Runden, Behandlung von Unendlich und NaN) zugewiesen. Sollte die Variable nicht existieren, wird df_angle = 0.00000 gesetzt und der Winkel mit fünf Nachkommastellen ausgegeben (Anzahl der Nullen). Die Variable digits_angle wird von JAG3D an den Report übergeben. Sie resultiert aus den Formatierungseinstellungen. Wenn Du also nur im Report die Anzahl der Stellen begrenzen willst, dann könntest Du hier die Dezimalausgabe fest definieren und entkoppeln von der GUI.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Tags:
JAG3D, Report, UI, Template, Variable, Dezimalzahlen, Ausgabe, Nachkommastellen, Freemarker


Complete thread:

 RSS Feed of thread